Commit e4be9af4 authored by Christos Tranoris's avatar Christos Tranoris
Browse files

changing activate profile

parent ad1015fc
Loading
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -19,15 +19,15 @@
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<!-- 
		<spring.boot-version>3.2.2</spring.boot-version>
		<spring.boot.fabric8-version>3.1.0</spring.boot.fabric8-version>
		<fabric8.version>6.10.0</fabric8.version>
		 -->
		 
		<!-- 
		<spring.boot-version>${spring-boot-version}</spring.boot-version>
		<spring.boot.fabric8-version>3.0.5</spring.boot.fabric8-version>
		<fabric8.version>6.6.2</fabric8.version>
		 -->
		
		<camel.version>4.0.0-RC1</camel.version>
		<slf4j-api.version>1.7.5</slf4j-api.version>
+0 −3
Original line number Diff line number Diff line
spring:
  config:
    activate:
      on-profile: "default"
  application:
    name: cridge
  main:
+172 −172
Original line number Diff line number Diff line
@@ -176,139 +176,139 @@ public class CridgeIntegrationTest {
  }


//  @Test
//  public void testCRDEPLOY() throws Exception {
//    logger.info("===============TEST testCRDEPLOY =============================");
//
//
//    // CustomResourceDefinition cronTabCrd = routesPreparation.kubernetesClient.apiextensions().v1()
//    // .customResourceDefinitions()
//    // .load(new BufferedInputStream(new FileInputStream("src/test/resources/crontab-crd.yaml")))
//    // .item();
//
//
//    // prepare CR_SPEC request
//    CustomResourceDefinition crdMyCalc = v1CRDFromCustomResourceType(MyCalculator.class).build();
//
//
//
//    Map<String, Object> map = new HashMap<>();
//    map.put("currentContextCluster", "testCluster");
//    map.put("clusterMasterURL", server.getHostName());
//    map.put("org.etsi.osl.serviceId", "sid-xxx-xxx-xxx");
//    map.put("org.etsi.osl.resourceId", "rid-xxx-xxx-xxx");
//    map.put("org.etsi.osl.prefixName", "crrid12345");
//    map.put("org.etsi.osl.serviceOrderId", "orderid-xxx-xxx-xxx");
//    map.put("org.etsi.osl.namespace", "orderid-xxx-xxx-xxx");
//    map.put("org.etsi.osl.statusCheckFieldName", "_CR_CHECK_FIELD");
//    map.put("org.etsi.osl.statusCheckValueStandby", "_CR_CHECKVAL_STANDBY");
//    map.put("org.etsi.osl.statusCheckValueAlarm", "_CR_CHECKVAL_ALARM");
//    map.put("org.etsi.osl.statusCheckValueAvailable", "_CR_CHECKVAL_AVAILABLE");
//    map.put("org.etsi.osl.statusCheckValueReserved", "_CR_CHECKVAL_RESERVED");
//    map.put("org.etsi.osl.statusCheckValueUnknown", "_CR_CHECKVAL_UNKNOWN");
//    map.put("org.etsi.osl.statusCheckValueSuspended", "_CR_CHECKVAL_SUSPENDED");
//
//
//    String _CR_SPEC = Serialization.asYaml(getMyCalculator("test-resource"));
//
//    // First check for an invalid context cluster
//    String response = kubernetesClientResource.deployCR(map, _CR_SPEC);
//    assertEquals("SEE OTHER", response);
//
//
//    // Now try for the correct context cluster
//    map.put("currentContextCluster",
//        kubernetesClientResource.getKubernetesContextDefinition().getCurrentContextCluster());
//    map.put("clusterMasterURL",
//        kubernetesClientResource.getKubernetesContextDefinition().getMasterURL());
//
//
//    // server api expectations
//    server.expect().get()
//        .withPath("/api/v1/namespaces/orderid-xxx-xxx-xxx/secrets?resourceVersion=0")
//        .andReturn(HttpURLConnection.HTTP_OK, crdMyCalc).once();
//
//    server.expect().get().withPath(
//        "/api/v1/namespaces/orderid-xxx-xxx-xxx/secrets?allowWatchBookmarks=true&timeoutSeconds=600&watch=true")
//        .andReturn(HttpURLConnection.HTTP_OK, crdMyCalc).once();
//
//    server.expect().get()
//        .withPath("/apis/stable.example.com/v1/namespaces/orderid-xxx-xxx-xxx/mycalculators")
//        .andReturn(HttpURLConnection.HTTP_OK, crdMyCalc).once();
//
//    server.expect().get().withPath(
//        "/apis/stable.example.com/v1/namespaces/orderid-xxx-xxx-xxx/mycalculators/amycalculator")
//        .andReturn(HttpURLConnection.HTTP_OK, crdMyCalc).once();
//
//    server.expect().post().withPath("/api/v1/namespaces/orderid-xxx-xxx-xxx/mycalculators")
//        .andReturn(HttpURLConnection.HTTP_CREATED, crdMyCalc).once();
//
//    server.expect().post()
//        .withPath(
//            "/apis/examples.osl.etsi.org/v1alpha1/namespaces/orderid-xxx-xxx-xxx/mycalculators")
//        .andReturn(HttpURLConnection.HTTP_CREATED, crdMyCalc).once();
//
//    // register the resource handler
//    KubernetesClient client = routesPreparation.kubernetesClient;
//
//    client.getKubernetesSerialization().registerKubernetesResource("examples.osl.etsi.org/v1alpha1",
//        "MyCalculator", MyCalculator.class);
//
//    // make the deployment test!
//    response = kubernetesClientResource.deployCR(map, _CR_SPEC);
//
//    assertEquals("OK", response);
//
//  }
  @Test
  public void testCRDEPLOY() throws Exception {
    logger.info("===============TEST testCRDEPLOY =============================");

//  @Test
//  public void testCRWithWatch() throws Exception {
//    // useful blog
//    // https://itnext.io/mock-kubernetes-api-server-in-java-using-fabric8-kubernetes-mock-server-81a75cf6c47c
//
//    // Given
//    KubernetesClient client = routesPreparation.kubernetesClient;
//
//    server.expect().withPath(
//        "/apis/examples.osl.etsi.org/v1alpha1/namespaces/orderid-xxx-xxx-xxx/mycalculators?allowWatchBookmarks=true&watch=true")
//        .andUpgradeToWebSocket().open().waitFor(10L)
//        .andEmit(new WatchEvent(getMyCalculator("amycalculator"), "ADDED")).waitFor(20L)
//        .andEmit(new WatchEventBuilder().withNewStatusObject()
//            .withMessage("410 - the event requested is outdated")
//            .withCode(HttpURLConnection.HTTP_GONE).endStatusObject().build())
//        .done().always();
//
//    MixedOperation<MyCalculator, KubernetesResourceList<MyCalculator>, Resource<MyCalculator>> userAclClient =
//        client.resources(MyCalculator.class);
//
//
//    // When
//    CountDownLatch eventRecieved = new CountDownLatch(1);
//    client.getKubernetesSerialization().registerKubernetesResource("examples.osl.etsi.org/v1alpha1",
//        "MyCalculator", MyCalculator.class);
//
//    Watch watch =
//        userAclClient.inNamespace("orderid-xxx-xxx-xxx").watch(new Watcher<MyCalculator>() {
//          @Override
//          public void eventReceived(Action action, MyCalculator calc) {
//            if (action.name().contains("ADDED")) {
//              eventRecieved.countDown();
//              logger.info(
//                  "===============CountDownLatch eventRecieved.countDown ADDED {}=============================",
//                  Serialization.asYaml(calc));
//            }
//          }
//
//          @Override
//          public void onClose(WatcherException e) {}
//        });
//
//    // Then
//    eventRecieved.await(30, TimeUnit.SECONDS);
//    Assertions.assertEquals(0, eventRecieved.getCount());
//    watch.close();
//
//  }

    // CustomResourceDefinition cronTabCrd = routesPreparation.kubernetesClient.apiextensions().v1()
    // .customResourceDefinitions()
    // .load(new BufferedInputStream(new FileInputStream("src/test/resources/crontab-crd.yaml")))
    // .item();


    // prepare CR_SPEC request
    CustomResourceDefinition crdMyCalc = v1CRDFromCustomResourceType(MyCalculator.class).build();



    Map<String, Object> map = new HashMap<>();
    map.put("currentContextCluster", "testCluster");
    map.put("clusterMasterURL", server.getHostName());
    map.put("org.etsi.osl.serviceId", "sid-xxx-xxx-xxx");
    map.put("org.etsi.osl.resourceId", "rid-xxx-xxx-xxx");
    map.put("org.etsi.osl.prefixName", "crrid12345");
    map.put("org.etsi.osl.serviceOrderId", "orderid-xxx-xxx-xxx");
    map.put("org.etsi.osl.namespace", "orderid-xxx-xxx-xxx");
    map.put("org.etsi.osl.statusCheckFieldName", "_CR_CHECK_FIELD");
    map.put("org.etsi.osl.statusCheckValueStandby", "_CR_CHECKVAL_STANDBY");
    map.put("org.etsi.osl.statusCheckValueAlarm", "_CR_CHECKVAL_ALARM");
    map.put("org.etsi.osl.statusCheckValueAvailable", "_CR_CHECKVAL_AVAILABLE");
    map.put("org.etsi.osl.statusCheckValueReserved", "_CR_CHECKVAL_RESERVED");
    map.put("org.etsi.osl.statusCheckValueUnknown", "_CR_CHECKVAL_UNKNOWN");
    map.put("org.etsi.osl.statusCheckValueSuspended", "_CR_CHECKVAL_SUSPENDED");


    String _CR_SPEC = Serialization.asYaml(getMyCalculator("test-resource"));

    // First check for an invalid context cluster
    String response = kubernetesClientResource.deployCR(map, _CR_SPEC);
    assertEquals("SEE OTHER", response);


    // Now try for the correct context cluster
    map.put("currentContextCluster",
        kubernetesClientResource.getKubernetesContextDefinition().getCurrentContextCluster());
    map.put("clusterMasterURL",
        kubernetesClientResource.getKubernetesContextDefinition().getMasterURL());


    // server api expectations
    server.expect().get()
        .withPath("/api/v1/namespaces/orderid-xxx-xxx-xxx/secrets?resourceVersion=0")
        .andReturn(HttpURLConnection.HTTP_OK, crdMyCalc).once();

    server.expect().get().withPath(
        "/api/v1/namespaces/orderid-xxx-xxx-xxx/secrets?allowWatchBookmarks=true&timeoutSeconds=600&watch=true")
        .andReturn(HttpURLConnection.HTTP_OK, crdMyCalc).once();

    server.expect().get()
        .withPath("/apis/stable.example.com/v1/namespaces/orderid-xxx-xxx-xxx/mycalculators")
        .andReturn(HttpURLConnection.HTTP_OK, crdMyCalc).once();

    server.expect().get().withPath(
        "/apis/stable.example.com/v1/namespaces/orderid-xxx-xxx-xxx/mycalculators/amycalculator")
        .andReturn(HttpURLConnection.HTTP_OK, crdMyCalc).once();

    server.expect().post().withPath("/api/v1/namespaces/orderid-xxx-xxx-xxx/mycalculators")
        .andReturn(HttpURLConnection.HTTP_CREATED, crdMyCalc).once();

    server.expect().post()
        .withPath(
            "/apis/examples.osl.etsi.org/v1alpha1/namespaces/orderid-xxx-xxx-xxx/mycalculators")
        .andReturn(HttpURLConnection.HTTP_CREATED, crdMyCalc).once();

    // register the resource handler
    KubernetesClient client = routesPreparation.kubernetesClient;

    client.getKubernetesSerialization().registerKubernetesResource("examples.osl.etsi.org/v1alpha1",
        "MyCalculator", MyCalculator.class);

    // make the deployment test!
    response = kubernetesClientResource.deployCR(map, _CR_SPEC);

    assertEquals("OK", response);

  }

  @Test
  public void testCRWithWatch() throws Exception {
    // useful blog
    // https://itnext.io/mock-kubernetes-api-server-in-java-using-fabric8-kubernetes-mock-server-81a75cf6c47c

    // Given
    KubernetesClient client = routesPreparation.kubernetesClient;

    server.expect().withPath(
        "/apis/examples.osl.etsi.org/v1alpha1/namespaces/orderid-xxx-xxx-xxx/mycalculators?allowWatchBookmarks=true&watch=true")
        .andUpgradeToWebSocket().open().waitFor(10L)
        .andEmit(new WatchEvent(getMyCalculator("amycalculator"), "ADDED")).waitFor(20L)
        .andEmit(new WatchEventBuilder().withNewStatusObject()
            .withMessage("410 - the event requested is outdated")
            .withCode(HttpURLConnection.HTTP_GONE).endStatusObject().build())
        .done().always();

    MixedOperation<MyCalculator, KubernetesResourceList<MyCalculator>, Resource<MyCalculator>> userAclClient =
        client.resources(MyCalculator.class);


    // When
    CountDownLatch eventRecieved = new CountDownLatch(1);
    client.getKubernetesSerialization().registerKubernetesResource("examples.osl.etsi.org/v1alpha1",
        "MyCalculator", MyCalculator.class);

    Watch watch =
        userAclClient.inNamespace("orderid-xxx-xxx-xxx").watch(new Watcher<MyCalculator>() {
          @Override
          public void eventReceived(Action action, MyCalculator calc) {
            if (action.name().contains("ADDED")) {
              eventRecieved.countDown();
              logger.info(
                  "===============CountDownLatch eventRecieved.countDown ADDED {}=============================",
                  Serialization.asYaml(calc));
            }
          }

          @Override
          public void onClose(WatcherException e) {}
        });

    // Then
    eventRecieved.await(30, TimeUnit.SECONDS);
    Assertions.assertEquals(0, eventRecieved.getCount());
    watch.close();

  }


  private KubernetesResource getMyCalculator(String resourceName) {
@@ -332,47 +332,47 @@ public class CridgeIntegrationTest {
  }


//  @Test
//  public void testKubernetesCRD2OpensliceCRD() throws FileNotFoundException {
//
//    logger.info("===============TEST testCRDRegister =============================");
//    // CustomResourceDefinition crdMyCalc = v1CRDFromCustomResourceType(MyCalculator.class).build();
//    CustomResourceDefinition cronTabCrd =
//        routesPreparation.kubernetesClient.apiextensions().v1().customResourceDefinitions()
//            .load(
//                new BufferedInputStream(new FileInputStream("src/test/resources/crontab-crd.yaml")))
//            .item();
//
//    List<KubernetesCRDV1> value = kubernetesClientResource.KubernetesCRD2OpensliceCRD(cronTabCrd);
//
//    assertEquals(1, value.size());
//    assertEquals("CronTab", value.get(0).getKind());
//    assertEquals("v1", value.get(0).getVersion());
//    assertEquals("stable.example.com", value.get(0).getApiGroup());
//
//
//  }
  @Test
  public void testKubernetesCRD2OpensliceCRD() throws FileNotFoundException {

//  @Test
//  public void testKubernetesCRDOpensliceCR() throws FileNotFoundException {
//
//
//    logger.info("===============TEST testCRRegister =============================");
//
//    ResourceDefinitionContext resourceDefinitionContext = new ResourceDefinitionContext.Builder()
//        .withGroup("stable.example.com").withVersion("v1").withPlural("crontabs").build();
//
//    GenericKubernetesResource cronTabCr =
//        routesPreparation.kubernetesClient.genericKubernetesResources(resourceDefinitionContext)
//            .load(new FileInputStream("src/test/resources/crontab-cr.yaml")).item();
//
//
//    KubernetesCRV1 value = kubernetesClientResource.KubernetesCR2OpensliceCR(cronTabCr);
//
//    assertEquals("CronTab", value.getKind());
//
//
//  }
    logger.info("===============TEST testCRDRegister =============================");
    // CustomResourceDefinition crdMyCalc = v1CRDFromCustomResourceType(MyCalculator.class).build();
    CustomResourceDefinition cronTabCrd =
        routesPreparation.kubernetesClient.apiextensions().v1().customResourceDefinitions()
            .load(
                new BufferedInputStream(new FileInputStream("src/test/resources/crontab-crd.yaml")))
            .item();

    List<KubernetesCRDV1> value = kubernetesClientResource.KubernetesCRD2OpensliceCRD(cronTabCrd);

    assertEquals(1, value.size());
    assertEquals("CronTab", value.get(0).getKind());
    assertEquals("v1", value.get(0).getVersion());
    assertEquals("stable.example.com", value.get(0).getApiGroup());


  }

  @Test
  public void testKubernetesCRDOpensliceCR() throws FileNotFoundException {


    logger.info("===============TEST testCRRegister =============================");

    ResourceDefinitionContext resourceDefinitionContext = new ResourceDefinitionContext.Builder()
        .withGroup("stable.example.com").withVersion("v1").withPlural("crontabs").build();

    GenericKubernetesResource cronTabCr =
        routesPreparation.kubernetesClient.genericKubernetesResources(resourceDefinitionContext)
            .load(new FileInputStream("src/test/resources/crontab-cr.yaml")).item();


    KubernetesCRV1 value = kubernetesClientResource.KubernetesCR2OpensliceCR(cronTabCr);

    assertEquals("CronTab", value.getKind());


  }

  @Test
  public void testKubernetesSecret2OpensliceResource() throws FileNotFoundException {