Browse Source

test class

马佳君 7 years ago
parent
commit
7ba44e028c

+ 154 - 0
src/test/java/nju/seec/SEECdemo/service/api/LimitRangeTest.java

@@ -0,0 +1,154 @@
+package nju.seec.SEECdemo.service.api;
+
+
+import io.kubernetes.client.ApiException;
+import io.kubernetes.client.apis.CoreV1Api;
+import io.kubernetes.client.custom.Quantity;
+import io.kubernetes.client.models.V1LimitRange;
+import io.kubernetes.client.models.V1LimitRangeItem;
+import io.kubernetes.client.models.V1LimitRangeSpec;
+import io.kubernetes.client.models.V1ObjectMeta;
+import jnr.ffi.annotations.In;
+import nju.seec.SEECdemo.logic.api.k8s.LimitRangeApi;
+import nju.seec.SEECdemo.logic.api.k8s.exception.K8sApiException;
+import nju.seec.SEECdemo.logic.api.k8s.impl.LimitRangeApiImpl;
+import nju.seec.SEECdemo.logic.api.k8s.vo.CpuQuantity;
+import nju.seec.SEECdemo.logic.api.k8s.vo.LimitRange;
+import nju.seec.SEECdemo.logic.api.k8s.vo.ResourceQuota;
+import nju.seec.SEECdemo.logic.api.k8s.vo.StorageQuantity;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class LimitRangeTest {
+
+
+    @Autowired
+    private CoreV1Api coreV1Api;
+
+    @Autowired
+    private LimitRangeApi limitRangeApi;
+
+    @Test
+    public void limitRangeTest() {
+        /*V1LimitRangeItem v1LimitRangeItem = new V1LimitRangeItem();
+        Map<String, Quantity> defualt = new HashMap<>();
+        defualt.put("cpu", new CpuQuantity(100).toQuantity());
+        defualt.put("memory", new StorageQuantity(1024).toQuantity());
+        Map<String, Quantity> defualtRequest = new HashMap<>();
+        defualtRequest.put("cpu", new CpuQuantity(50).toQuantity());
+        defualtRequest.put("memory", new StorageQuantity(256).toQuantity());
+        Map<String, Quantity> max = new HashMap<>();
+        max.put("cpu", new CpuQuantity(100).toQuantity());
+        max.put("memory", new StorageQuantity(1024, StorageQuantity.Unit.GB).toQuantity());
+        Map<String, Quantity> min = new HashMap<>();
+        min.put("cpu", new CpuQuantity(50).toQuantity());
+        min.put("memory", new StorageQuantity(256).toQuantity());
+        String type = "Container";
+        String apiVersion = "v1";
+        v1LimitRangeItem = v1LimitRangeItem
+                ._default(defualt)
+                .defaultRequest(defualtRequest)
+                .max(max)
+                .min(min)
+                .type(type);
+        V1ObjectMeta meta = new V1ObjectMeta().name("limit-range-test2").namespace("mjj-test2");
+        String kind = "LimitRange";
+        V1LimitRange body = new V1LimitRange()
+                .apiVersion(apiVersion)
+                .kind(kind)
+                .metadata(meta)
+                .spec(new V1LimitRangeSpec().addLimitsItem(v1LimitRangeItem));
+        String namespace = "mjj-test2";*/
+        /*try {
+            coreV1Api.createNamespacedLimitRange(namespace, body, "OK");
+        } catch (ApiException e) {
+            System.out.println(e.getResponseBody());
+        }*/
+
+
+        //Test update
+        //LimitRange Not Found 404
+
+        /*try {
+            String body1 = "{ \"defualt\" : {\"cpu\" : 1, \"memory\": 1024Mi}}";
+            coreV1Api.patchNamespacedLimitRange("limit-range-test2", "mjj-test2", body1, "OK");
+        } catch (ApiException e) {
+            System.out.println(e.getResponseBody());
+        }*/
+
+
+        //Test createLimitRange
+        /*String name2 = "limit-range-test3";
+        Map<String, Integer> _default = new HashMap<>();
+        _default.put("cpu", 100);
+        _default.put("memory", 1024);
+        Map<String, Integer> defaultrequest = new HashMap<>();
+        defaultrequest.put("cpu", 50);
+        defaultrequest.put("memory", 512);
+        Map<String, Integer> max1 = new HashMap<>();
+        max1.put("cpu", 200);
+        max1.put("memory", 1024);
+        Map<String, Integer> min1 = new HashMap<>();
+        min1.put("cpu", 50);
+        min1.put("memory", 512);
+        String namespace2 = "mjj-test3";
+        try {
+            limitRangeApi.createLimitRange(namespace, name2, _default, defaultrequest, max1, min1);
+        } catch (K8sApiException e) {
+            System.out.println(e.getDescription());
+        }*/
+
+        //Test delete limitRange
+        /*String namespace = "mjj-test2";
+        String name = "limit-range-test3";
+        try {
+            limitRangeApi.deleteLimitRange(namespace, name);
+        } catch (K8sApiException e) {
+            e.getDescription();
+        }*/
+
+
+        //Test get LimitRange
+        /*String namespace = "mjj-test2";
+        String name = "limit-range-test2";
+        try {
+            V1LimitRange v1LimitRange = limitRangeApi.getLimitRangeByName(namespace, name);
+            System.out.println(v1LimitRange.getMetadata().getName());
+        } catch (K8sApiException e) {
+            e.printStackTrace();
+        }*/
+
+
+
+        //Test update LimitRange
+        String namespace = "mjj-test2";
+        String name = "limit-range-test2";
+        Map<String, Integer> _default = new HashMap<>();
+        _default.put("cpu", 100);
+        _default.put("memory", 1024);
+        Map<String, Integer> defaultrequest = new HashMap<>();
+        defaultrequest.put("cpu", 50);
+        defaultrequest.put("memory", 512);
+        Map<String, Integer> max1 = new HashMap<>();
+        max1.put("cpu", 200);
+        max1.put("memory", 1024);
+        Map<String, Integer> min1 = new HashMap<>();
+        min1.put("cpu", 50);
+        min1.put("memory", 512);
+        V1LimitRange body = limitRangeApi.toLimitRange(namespace, name, _default, defaultrequest, max1, min1);
+        try {
+            limitRangeApi.updateLimitRange(namespace, name, body);
+        } catch (K8sApiException e) {
+            e.printStackTrace();
+        }
+    }
+}

+ 131 - 0
src/test/java/nju/seec/SEECdemo/service/api/SecretApiImpl.java

@@ -0,0 +1,131 @@
+package nju.seec.SEECdemo.service.api;
+
+
+import com.google.protobuf.MapEntry;
+import io.kubernetes.client.ApiException;
+import io.kubernetes.client.apis.AppsV1Api;
+import io.kubernetes.client.apis.CoreV1Api;
+import io.kubernetes.client.models.V1DeleteOptions;
+import io.kubernetes.client.models.V1ObjectMeta;
+import io.kubernetes.client.models.V1Secret;
+import io.kubernetes.client.models.V1SecretList;
+import nju.seec.SEECdemo.logic.api.k8s.SecretApi;
+import nju.seec.SEECdemo.logic.api.k8s.exception.K8sApiException;
+import nju.seec.SEECdemo.logic.api.k8s.vo.ApiResult;
+import nju.seec.SEECdemo.logic.api.k8s.vo.Namespace;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class SecretApiImpl {
+
+    @Autowired
+    private AppsV1Api appsV1Api;
+
+    @Autowired
+    private CoreV1Api coreV1Api;
+
+    @Autowired
+    private SecretApi secretApi;
+
+    @Test
+    public void testCreateSecret() {
+
+        //Secret默认创建的Type为Opaque,base64编码格式的Secret,用来储存密码、密钥等。
+
+//        V1Secret v1Secret = new V1Secret();
+//        v1Secret.setApiVersion("v1");
+//        Map<String, byte[]> secretMap = new HashMap<>();
+//        String dockerConfigJson =
+//                "{\"auths\":{\"10.1.1.243:18082\":{\"username\":\"admin\",\"password\":\"admin123\",\"auth\":\"admin:admin123\"}}}";
+//        secretMap.put(".dockerconfigjson", dockerConfigJson.getBytes());
+//        V1ObjectMeta meta = new V1ObjectMeta();
+//        meta.setName("my-secret4");
+//        meta.setNamespace("mjj-test");
+//        v1Secret.setData(secretMap);
+//        v1Secret.setKind("Secret");
+//        v1Secret.setMetadata(meta);
+//        v1Secret.setType("123");
+//
+//        v1Secret.setType("kubernetes.io/dockerconfigjson");
+//
+//        try {
+//            V1Secret returnSecret = coreV1Api.createNamespacedSecret("mjj-test", v1Secret, "OK");
+//            Map<String, byte[]> dataMap = returnSecret.getData();
+//            for (Map.Entry<String, byte[]> entry : dataMap.entrySet()) {
+//                System.out.println(entry.getKey());
+//                System.out.println(new String(entry.getValue()));
+//            }
+//            System.out.println(returnSecret.getType());
+//        } catch (ApiException e) {
+//            //如果已经存在相同命名的Secret会抛出异常
+//            System.out.println(e.getResponseBody());
+//        }
+
+//        String namespace = "mjj-test";
+//        try {
+//            V1SecretList v1SecretList = coreV1Api.listNamespacedSecret(namespace, "OK", "", "",false, "", 200, "", 10, false);
+//            List<V1Secret> secretList = v1SecretList.getItems();
+//            for (V1Secret secret : secretList) {
+//
+//                Map<String, byte[]> data = secret.getData();
+//                for (Map.Entry<String, byte[]> entry : data.entrySet()) {
+//                    System.out.println(entry.getKey());
+//                    System.out.println(new String(entry.getValue()));
+//                }
+//            }
+//        } catch (ApiException e) {
+//            System.out.println(e.getResponseBody());
+//        }
+
+
+        //test createGenericSecret()
+/*        String namespace = "mjj-test";
+        String name = "secret";
+        Map<String, byte[]> data = new HashMap<>();
+        data.put("mysql", "123456".getBytes());
+        secretApi.createGenericSecret(namespace, name, data);*/
+
+        //test createPrivateRegistrySecret()
+        /*String namespace = "mjj-test";
+        String sever = "10.1.1.243:18082";
+        String user = "admin";
+        String password = "admin123";
+        secretApi.createPrivateRegistrySecret(namespace, sever, user, password);*/
+
+        //test getSecret()
+        /*String namespace = "mjj-test";
+        String name = "my-secret2";
+        ApiResult apiResult = secretApi.getSecret(namespace, name);
+        if (apiResult.getErrorCode() == 0) {
+            V1Secret secret = (V1Secret) apiResult.getValue();
+            Map<String, byte[]> map = secret.getData();
+            for (Map.Entry<String, byte[]> entry : map.entrySet()) {
+                System.out.println(entry.getKey());
+                System.out.println(new String(entry.getValue()));
+            }
+        } else {
+            System.out.println("获取失败");
+        }*/
+
+
+        //test delete a Secret
+        /*String name = "my-secret2";
+        String namespace = "mjj-test";*/
+        /*V1DeleteOptions body = new V1DeleteOptions();
+        try {
+            coreV1Api.deleteNamespacedSecret(name, namespace, body, "", 5, false, "");
+        } catch (ApiException e) {
+            System.out.println(e.getResponseBody());
+        }*/
+
+    }
+}