- public void testDeleteSpecificVersionOfOperationalPolicyJson() {
- testDeleteSpecificVersionOfOperationalPolicy(APP_JSON);
- }
-
- @Test
- public void testDeleteSpecificVersionOfOperationalPolicyYaml() {
- testDeleteSpecificVersionOfOperationalPolicy(APP_YAML);
- }
-
- private void testDeleteSpecificVersionOfOperationalPolicy(String mediaType) {
- try {
- main = startApiService(true);
- Response rawResponse = deleteResource(OPS_POLICIES_VDNS_VERSION, true, mediaType);
- assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), rawResponse.getStatus());
- } catch (Exception exp) {
- fail("Test should not throw an exception");
- }
- }
-
- private Response createResource(String endpoint, String resourceName, boolean http)
- throws Exception {
-
- String mediaType = APP_JSON; // default media type
- ToscaServiceTemplate rawServiceTemplate = new ToscaServiceTemplate();
- if (resourceName.endsWith(".json")) {
- rawServiceTemplate = standardCoder.decode(
- ResourceUtils.getResourceAsString(resourceName), ToscaServiceTemplate.class);
- } else if (resourceName.endsWith(".yaml") || resourceName.endsWith(".yml")) {
- mediaType = APP_YAML;
- rawServiceTemplate = standardYamlCoder.decode(
- ResourceUtils.getResourceAsString(resourceName), ToscaServiceTemplate.class);
- }
-
- final Invocation.Builder invocationBuilder;
-
- if (http) {
- invocationBuilder = sendHttpRequest(endpoint, mediaType);
- } else {
- invocationBuilder = sendHttpsRequest(endpoint, mediaType);
- }
-
- Entity<ToscaServiceTemplate> entity = Entity.entity(rawServiceTemplate, mediaType);
- return invocationBuilder.post(entity);
- }
-
- private Response createGuardPolicy(String endpoint, String resourceName, boolean http)
- throws Exception {
-
- String mediaType = APP_JSON; // default media type
- LegacyGuardPolicyInput rawGuardPolicy = new LegacyGuardPolicyInput();
- if (resourceName.endsWith(".json")) {
- rawGuardPolicy = standardCoder.decode(
- ResourceUtils.getResourceAsString(resourceName), LegacyGuardPolicyInput.class);
- } else if (resourceName.endsWith(".yaml") || resourceName.endsWith(".yml")) {
- mediaType = APP_YAML;
- rawGuardPolicy = standardYamlCoder.decode(
- ResourceUtils.getResourceAsString(resourceName), LegacyGuardPolicyInput.class);
- }
-
- final Invocation.Builder invocationBuilder;
-
- if (http) {
- invocationBuilder = sendHttpRequest(endpoint, mediaType);
- } else {
- invocationBuilder = sendHttpsRequest(endpoint, mediaType);
- }
-
- Entity<LegacyGuardPolicyInput> entity = Entity.entity(rawGuardPolicy, mediaType);
- return invocationBuilder.post(entity);
- }
-
- private Response createOperationalPolicy(String endpoint, String resourceName, boolean http)
- throws Exception {
-
- String mediaType = APP_JSON; // default media type
- LegacyOperationalPolicy rawOpsPolicy = new LegacyOperationalPolicy();
- if (resourceName.endsWith(".json")) {
- rawOpsPolicy = standardCoder.decode(
- ResourceUtils.getResourceAsString(resourceName), LegacyOperationalPolicy.class);
- } else if (resourceName.endsWith(".yaml") || resourceName.endsWith(".yml")) {
- mediaType = APP_YAML;
- rawOpsPolicy = standardYamlCoder.decode(
- ResourceUtils.getResourceAsString(resourceName), LegacyOperationalPolicy.class);
- }
-
- final Invocation.Builder invocationBuilder;
-
- if (http) {
- invocationBuilder = sendHttpRequest(endpoint, mediaType);
- } else {
- invocationBuilder = sendHttpsRequest(endpoint, mediaType);
- }
-
- Entity<LegacyOperationalPolicy> entity = Entity.entity(rawOpsPolicy, mediaType);
- return invocationBuilder.post(entity);
- }
-
- private Response readResource(String endpoint, boolean http, String mediaType) throws Exception {
-
- final Invocation.Builder invocationBuilder;
-
- if (http) {
- invocationBuilder = sendHttpRequest(endpoint, mediaType);
- } else {
- invocationBuilder = sendHttpsRequest(endpoint, mediaType);
- }
-
- return invocationBuilder.get();
-
- }
-
- private Response deleteResource(String endpoint, boolean http, String mediaType) throws Exception {
-
- final Invocation.Builder invocationBuilder;
-
- if (http) {
- invocationBuilder = sendHttpRequest(endpoint, mediaType);
- } else {
- invocationBuilder = sendHttpsRequest(endpoint, mediaType);
- }
-
- return invocationBuilder.delete();
- }
-
- private Main startApiService(final boolean http) throws Exception {
- port = NetworkUtil.allocPort();
-
- final String[] apiConfigParameters = new String[2];
- if (http) {
- COMMON_TEST_DATA.makeParameters("src/test/resources/parameters/ApiConfigParameters.json",
- "src/test/resources/parameters/ApiConfigParametersXXX.json", port);
- apiConfigParameters[0] = "-c";
- apiConfigParameters[1] = "src/test/resources/parameters/ApiConfigParametersXXX.json";
- } else {
- final Properties systemProps = System.getProperties();
- systemProps.put("javax.net.ssl.keyStore", KEYSTORE);
- systemProps.put("javax.net.ssl.keyStorePassword", "Pol1cy_0nap");
- System.setProperties(systemProps);
- COMMON_TEST_DATA.makeParameters("src/test/resources/parameters/ApiConfigParameters_Https.json",
- "src/test/resources/parameters/ApiConfigParameters_HttpsXXX.json", port);
- apiConfigParameters[0] = "-c";
- apiConfigParameters[1] = "src/test/resources/parameters/ApiConfigParameters_HttpsXXX.json";
- }
- return new Main(apiConfigParameters);
- }
-
- private void stopApiService(final Main main) throws PolicyApiException {
-
- main.shutdown();
- }
-
- private Invocation.Builder sendHttpRequest(final String endpoint, String mediaType) throws Exception {
-
- final ClientConfig clientConfig = new ClientConfig();
-
- final HttpAuthenticationFeature feature = HttpAuthenticationFeature.basic("healthcheck", "zb!XztG34");
- clientConfig.register(feature);
-
- final Client client = ClientBuilder.newClient(clientConfig);
-
- client.property(ClientProperties.METAINF_SERVICES_LOOKUP_DISABLE, "true");
- if (APP_JSON.equalsIgnoreCase(mediaType)) {
- client.register(GsonMessageBodyHandler.class);
- } else if (APP_YAML.equalsIgnoreCase(mediaType)) {
- client.register(YamlMessageBodyHandler.class);
- }
-
- final WebTarget webTarget = client.target("http://localhost:" + port + "/policy/api/v1/" + endpoint);
-
- final Invocation.Builder invocationBuilder = webTarget.request(mediaType);
-
- if (!NetworkUtil.isTcpPortOpen("localhost", port, 60, 1000L)) {
- throw new IllegalStateException("cannot connect to port " + port);