SecretApiImplTest.java 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. package nju.seec.SEECdemo.service.api;
  2. import io.kubernetes.client.apis.AppsV1Api;
  3. import io.kubernetes.client.apis.CoreV1Api;
  4. import nju.seec.SEECdemo.logic.api.k8s.SecretApi;
  5. import nju.seec.SEECdemo.logic.api.k8s.util.SecretTypeEnum;
  6. import nju.seec.SEECdemo.logic.api.k8s.vo.SecretVO;
  7. import org.junit.Test;
  8. import org.junit.runner.RunWith;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.boot.test.context.SpringBootTest;
  11. import org.springframework.test.context.junit4.SpringRunner;
  12. import java.util.List;
  13. @RunWith(SpringRunner.class)
  14. @SpringBootTest
  15. public class SecretApiImplTest {
  16. @Autowired
  17. private AppsV1Api appsV1Api;
  18. @Autowired
  19. private CoreV1Api coreV1Api;
  20. @Autowired
  21. private SecretApi secretApi;
  22. @Test
  23. public void testCreateSecret() {
  24. //Secret默认创建的Type为Opaque,base64编码格式的Secret,用来储存密码、密钥等。
  25. // V1Secret v1Secret = new V1Secret();
  26. // v1Secret.setApiVersion("v1");
  27. // Map<String, byte[]> secretMap = new HashMap<>();
  28. // String dockerConfigJson =
  29. // "{\"auths\":{\"10.1.1.243:18082\":{\"username\":\"admin\",\"password\":\"admin123\",\"auth\":\"admin:admin123\"}}}";
  30. // secretMap.put(".dockerconfigjson", dockerConfigJson.getBytes());
  31. // V1ObjectMeta meta = new V1ObjectMeta();
  32. // meta.setName("my-secret4");
  33. // meta.setNamespace("mjj-test");
  34. // v1Secret.setData(secretMap);
  35. // v1Secret.setKind("Secret");
  36. // v1Secret.setMetadata(meta);
  37. // v1Secret.setType("123");
  38. //
  39. // v1Secret.setType("kubernetes.io/dockerconfigjson");
  40. //
  41. // try {
  42. // V1Secret returnSecret = coreV1Api.createNamespacedSecret("mjj-test", v1Secret, "OK");
  43. // Map<String, byte[]> dataMap = returnSecret.getData();
  44. // for (Map.Entry<String, byte[]> entry : dataMap.entrySet()) {
  45. // System.out.println(entry.getKey());
  46. // System.out.println(new String(entry.getValue()));
  47. // }
  48. // System.out.println(returnSecret.getType());
  49. // } catch (ApiException e) {
  50. // //如果已经存在相同命名的Secret会抛出异常
  51. // System.out.println(e.getResponseBody());
  52. // }
  53. // String namespace = "mjj-test";
  54. // try {
  55. // V1SecretList v1SecretList = coreV1Api.listNamespacedSecret(namespace, "OK", "", "",false, "", 200, "", 10, false);
  56. // List<V1Secret> secretList = v1SecretList.getItems();
  57. // for (V1Secret secret : secretList) {
  58. //
  59. // Map<String, byte[]> data = secret.getData();
  60. // for (Map.Entry<String, byte[]> entry : data.entrySet()) {
  61. // System.out.println(entry.getKey());
  62. // System.out.println(new String(entry.getValue()));
  63. // }
  64. // }
  65. // } catch (ApiException e) {
  66. // System.out.println(e.getResponseBody());
  67. // }
  68. //test createGenericSecret()
  69. /* String namespace = "mjj-test";
  70. String name = "secret";
  71. Map<String, byte[]> data = new HashMap<>();
  72. data.put("mysql", "123456".getBytes());
  73. secretApi.createGenericSecret(namespace, name, data);*/
  74. //test createPrivateRegistrySecret()
  75. /*String namespace = "mjj-test";
  76. String sever = "10.1.1.243:18082";
  77. String user = "admin";
  78. String password = "admin123";
  79. secretApi.createPrivateRegistrySecret(namespace, sever, user, password);*/
  80. //test getSecret()
  81. /*String namespace = "mjj-test";
  82. String name = "my-secret2";
  83. ApiResult apiResult = secretApi.getSecret(namespace, name);
  84. if (apiResult.getErrorCode() == 0) {
  85. V1Secret secret = (V1Secret) apiResult.getValue();
  86. Map<String, byte[]> map = secret.getData();
  87. for (Map.Entry<String, byte[]> entry : map.entrySet()) {
  88. System.out.println(entry.getKey());
  89. System.out.println(new String(entry.getValue()));
  90. }
  91. } else {
  92. System.out.println("获取失败");
  93. }*/
  94. //test delete a Secret
  95. /*String name = "my-secret2";
  96. String namespace = "mjj-test";*/
  97. /*V1DeleteOptions body = new V1DeleteOptions();
  98. try {
  99. coreV1Api.deleteNamespacedSecret(name, namespace, body, "", 5, false, "");
  100. } catch (ApiException e) {
  101. System.out.println(e.getResponseBody());
  102. }*/
  103. }
  104. @Test
  105. public void testGetSecret() {
  106. SecretVO v1Secret = secretApi.getSecretByName("group24", "regcred");
  107. System.out.println(v1Secret);
  108. }
  109. @Test
  110. public void testGetSecretByType() {
  111. List<SecretVO> v1Secret = secretApi.getSecretListByType("demo", SecretTypeEnum.Generic);
  112. v1Secret.stream().forEach((v1Secret1 -> {
  113. v1Secret1.getData().values().forEach((stringEntry -> {
  114. System.out.println(stringEntry);
  115. }));
  116. }));
  117. System.out.println(v1Secret);
  118. }
  119. @Test
  120. public void testCreate() {
  121. secretApi.createPrivateRegistrySecret("demo2", "10.1.1.243:18082", "admin", "admin123");
  122. }
  123. }