- private void initialiseBaseServletToBypassRetreiviingInitialisationParametersFromDatabase()
- throws IllegalAccessException {
- Properties props = new Properties();
- props.setProperty("org.onap.dmaap.datarouter.provserver.isaddressauthenabled", "false");
- FieldUtils.writeDeclaredStaticField(DB.class, "props", props, true);
- FieldUtils.writeDeclaredStaticField(BaseServlet.class, "startmsgFlag", false, true);
- SynchronizerTask synchronizerTask = mock(SynchronizerTask.class);
- when(synchronizerTask.getState()).thenReturn(SynchronizerTask.UNKNOWN);
- FieldUtils.writeDeclaredStaticField(SynchronizerTask.class, "synctask", synchronizerTask, true);
+ @Test
+ public void Given_Request_Is_HTTP_PUT_And_Feed_Version_Change_is_Requested_Bad_Request_Response_Is_Generated() throws Exception {
+ JSONObject JSObject = buildRequestJsonObject();
+ FeedServlet feedServlet = new FeedServlet() {
+ protected JSONObject getJSONfromInput(HttpServletRequest req) {
+ JSONObject jo = new JSONObject();
+ jo.put("name", "stub_name");
+ jo.put("version", "2.0");
+ jo.put("authorization", JSObject);
+ return jo;
+ }
+ };
+ feedServlet.doPut(request, response);
+ verify(response).sendError(eq(HttpServletResponse.SC_BAD_REQUEST), argThat(notNullValue(String.class)));
+ }
+
+ @Test
+ public void Given_Request_Is_HTTP_PUT_And_Request_Is_Not_Authorized_Then_Forbidden_Response_Is_Generated() throws Exception {
+ JSONObject JSObject = buildRequestJsonObject();
+ FeedServlet feedServlet = new FeedServlet() {
+ protected JSONObject getJSONfromInput(HttpServletRequest req) {
+ JSONObject jo = new JSONObject();
+ jo.put("name", "Feed1");
+ jo.put("version", "v0.1");
+ jo.put("authorization", JSObject);
+ return jo;
+ }
+ };
+ setAuthoriserToReturnRequestNotAuthorized();
+ feedServlet.doPut(request, response);
+ verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class)));
+ }
+
+ @Test
+ public void Given_Request_Is_HTTP_PUT_And_Change_On_Feeds_Fails_An_Internal_Server_Error_Response_Is_Generated() throws Exception {
+ ServletOutputStream outStream = mock(ServletOutputStream.class);
+ when(response.getOutputStream()).thenReturn(outStream);
+
+ JSONObject JSObject = buildRequestJsonObject();
+ FeedServlet feedServlet = new FeedServlet() {
+ protected JSONObject getJSONfromInput(HttpServletRequest req) {
+ JSONObject jo = new JSONObject();
+ jo.put("name", "Feed1");
+ jo.put("version", "v0.1");
+ jo.put("authorization", JSObject);
+ return jo;
+ }
+
+ @Override
+ protected boolean doUpdate(Updateable bean) {
+ return false;
+ }
+ };
+ feedServlet.doPut(request, response);
+ verify(response).sendError(eq(HttpServletResponse.SC_INTERNAL_SERVER_ERROR), argThat(notNullValue(String.class)));
+ }
+
+ @Test
+ public void Given_Request_Is_HTTP_PUT_And_Change_On_Feeds_Suceeds_A_STATUS_OK_Response_Is_Generated() throws Exception {
+ ServletOutputStream outStream = mock(ServletOutputStream.class);
+ when(response.getOutputStream()).thenReturn(outStream);
+ JSONObject JSObject = buildRequestJsonObject();
+ FeedServlet feedServlet = new FeedServlet() {
+ protected JSONObject getJSONfromInput(HttpServletRequest req) {
+ JSONObject jo = new JSONObject();
+ jo.put("name", "Feed1");
+ jo.put("version", "v0.1");
+ jo.put("authorization", JSObject);
+ return jo;
+ }
+
+ };
+ feedServlet.doPut(request, response);
+ verify(response).setStatus(eq(HttpServletResponse.SC_OK));
+ verifyEnteringExitCalled(listAppender);
+ }
+
+ @Test
+ public void Given_Request_Is_HTTP_POST_SC_METHOD_NOT_ALLOWED_Response_Is_Generated() throws Exception {
+ feedServlet.doPost(request, response);
+ verify(response).sendError(eq(HttpServletResponse.SC_METHOD_NOT_ALLOWED), argThat(notNullValue(String.class)));
+ verifyEnteringExitCalled(listAppender);
+ }
+
+ @NotNull
+ private JSONObject buildRequestJsonObject() {
+ JSONObject JSObject = new JSONObject();
+ JSONArray endpointIDs = new JSONArray();
+ JSONObject JOEndpointIDs = new JSONObject();
+ JOEndpointIDs.put("id", "stub_endpoint_id");
+ JOEndpointIDs.put("password", "stub_endpoint_password");
+ endpointIDs.put(JOEndpointIDs);
+
+ JSONArray endpointAddresses = new JSONArray();
+ endpointAddresses.put("127.0.0.1");
+
+ JSObject.put("classification", "stub_classification");
+ JSObject.put("endpoint_ids", endpointIDs);
+ JSObject.put("endpoint_addrs", endpointAddresses);
+ return JSObject;