kubeclient 4.6.0 → 4.9.2
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of kubeclient might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.github/workflows/actions.yml +35 -0
- data/CHANGELOG.md +37 -0
- data/README.md +155 -37
- data/RELEASING.md +3 -1
- data/kubeclient.gemspec +5 -4
- data/lib/kubeclient.rb +1 -1
- data/lib/kubeclient/common.rb +35 -6
- data/lib/kubeclient/config.rb +17 -4
- data/lib/kubeclient/exec_credentials.rb +33 -4
- data/lib/kubeclient/google_application_default_credentials.rb +6 -1
- data/lib/kubeclient/version.rb +1 -1
- metadata +13 -217
- data/.travis.yml +0 -26
- data/test/cassettes/kubernetes_guestbook.yml +0 -879
- data/test/config/allinone.kubeconfig +0 -20
- data/test/config/execauth.kubeconfig +0 -62
- data/test/config/external-ca.pem +0 -18
- data/test/config/external-cert.pem +0 -19
- data/test/config/external-key.rsa +0 -27
- data/test/config/external.kubeconfig +0 -20
- data/test/config/gcpauth.kubeconfig +0 -22
- data/test/config/gcpcmdauth.kubeconfig +0 -26
- data/test/config/nouser.kubeconfig +0 -16
- data/test/config/oidcauth.kubeconfig +0 -25
- data/test/config/timestamps.kubeconfig +0 -25
- data/test/config/userauth.kubeconfig +0 -28
- data/test/json/bindings_list.json +0 -10
- data/test/json/component_status.json +0 -17
- data/test/json/component_status_list.json +0 -52
- data/test/json/config.istio.io_api_resource_list.json +0 -679
- data/test/json/config_map_list.json +0 -9
- data/test/json/core_api_resource_list.json +0 -181
- data/test/json/core_api_resource_list_without_kind.json +0 -129
- data/test/json/core_oapi_resource_list_without_kind.json +0 -197
- data/test/json/created_endpoint.json +0 -28
- data/test/json/created_namespace.json +0 -20
- data/test/json/created_secret.json +0 -16
- data/test/json/created_security_context_constraint.json +0 -65
- data/test/json/created_service.json +0 -31
- data/test/json/empty_pod_list.json +0 -9
- data/test/json/endpoint_list.json +0 -48
- data/test/json/entity_list.json +0 -56
- data/test/json/event_list.json +0 -35
- data/test/json/extensions_v1beta1_api_resource_list.json +0 -217
- data/test/json/limit_range.json +0 -23
- data/test/json/limit_range_list.json +0 -31
- data/test/json/namespace.json +0 -13
- data/test/json/namespace_exception.json +0 -8
- data/test/json/namespace_list.json +0 -32
- data/test/json/node.json +0 -29
- data/test/json/node_list.json +0 -37
- data/test/json/node_notice.json +0 -160
- data/test/json/persistent_volume.json +0 -37
- data/test/json/persistent_volume_claim.json +0 -32
- data/test/json/persistent_volume_claim_list.json +0 -40
- data/test/json/persistent_volume_claims_nil_items.json +0 -8
- data/test/json/persistent_volume_list.json +0 -45
- data/test/json/pod.json +0 -92
- data/test/json/pod_list.json +0 -79
- data/test/json/pod_template_list.json +0 -9
- data/test/json/pods_1.json +0 -265
- data/test/json/pods_2.json +0 -102
- data/test/json/pods_410.json +0 -9
- data/test/json/processed_template.json +0 -27
- data/test/json/replication_controller.json +0 -57
- data/test/json/replication_controller_list.json +0 -66
- data/test/json/resource_quota.json +0 -46
- data/test/json/resource_quota_list.json +0 -54
- data/test/json/secret_list.json +0 -44
- data/test/json/security.openshift.io_api_resource_list.json +0 -69
- data/test/json/security_context_constraint_list.json +0 -375
- data/test/json/service.json +0 -33
- data/test/json/service_account.json +0 -25
- data/test/json/service_account_list.json +0 -82
- data/test/json/service_illegal_json_404.json +0 -1
- data/test/json/service_json_patch.json +0 -26
- data/test/json/service_list.json +0 -97
- data/test/json/service_merge_patch.json +0 -26
- data/test/json/service_patch.json +0 -25
- data/test/json/service_update.json +0 -22
- data/test/json/template.json +0 -27
- data/test/json/template.openshift.io_api_resource_list.json +0 -75
- data/test/json/template_list.json +0 -35
- data/test/json/versions_list.json +0 -6
- data/test/json/watch_stream.json +0 -3
- data/test/test_common.rb +0 -95
- data/test/test_component_status.rb +0 -29
- data/test/test_config.rb +0 -222
- data/test/test_endpoint.rb +0 -54
- data/test/test_exec_credentials.rb +0 -125
- data/test/test_gcp_command_credentials.rb +0 -27
- data/test/test_google_application_default_credentials.rb +0 -15
- data/test/test_guestbook_go.rb +0 -235
- data/test/test_helper.rb +0 -18
- data/test/test_kubeclient.rb +0 -881
- data/test/test_limit_range.rb +0 -25
- data/test/test_missing_methods.rb +0 -80
- data/test/test_namespace.rb +0 -59
- data/test/test_node.rb +0 -70
- data/test/test_oidc_auth_provider.rb +0 -103
- data/test/test_persistent_volume.rb +0 -29
- data/test/test_persistent_volume_claim.rb +0 -28
- data/test/test_pod.rb +0 -81
- data/test/test_pod_log.rb +0 -157
- data/test/test_process_template.rb +0 -80
- data/test/test_replication_controller.rb +0 -47
- data/test/test_resource_list_without_kind.rb +0 -78
- data/test/test_resource_quota.rb +0 -23
- data/test/test_secret.rb +0 -62
- data/test/test_security_context_constraint.rb +0 -62
- data/test/test_service.rb +0 -330
- data/test/test_service_account.rb +0 -26
- data/test/test_watch.rb +0 -195
- data/test/txt/pod_log.txt +0 -6
- data/test/valid_token_file +0 -1
@@ -1 +0,0 @@
|
|
1
|
-
404: Page Not Found
|
@@ -1,26 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"status" : {},
|
3
|
-
"kind" : "Service",
|
4
|
-
"apiVersion" : "v1",
|
5
|
-
"spec" : {
|
6
|
-
"ports" : [
|
7
|
-
{
|
8
|
-
"targetPort" : 80,
|
9
|
-
"nodePort" : 0,
|
10
|
-
"port" : 80,
|
11
|
-
"protocol" : "TCP"
|
12
|
-
}
|
13
|
-
],
|
14
|
-
"clusterIP" : "1.2.3.4",
|
15
|
-
"type": "LoadBalancer"
|
16
|
-
},
|
17
|
-
"metadata" : {
|
18
|
-
"name" : "my-service",
|
19
|
-
"creationTimestamp" : null,
|
20
|
-
"namespace" : "development",
|
21
|
-
"resourceVersion" : "2",
|
22
|
-
"annotations" : {
|
23
|
-
"key" : "value"
|
24
|
-
}
|
25
|
-
}
|
26
|
-
}
|
data/test/json/service_list.json
DELETED
@@ -1,97 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"kind": "ServiceList",
|
3
|
-
"apiVersion": "v1",
|
4
|
-
"metadata": {
|
5
|
-
"selfLink": "/api/v1/services",
|
6
|
-
"resourceVersion": "36727"
|
7
|
-
},
|
8
|
-
"items": [
|
9
|
-
{
|
10
|
-
"metadata": {
|
11
|
-
"name": "kubernetes",
|
12
|
-
"namespace": "default",
|
13
|
-
"selfLink": "/api/v1/namespaces/default/services/kubernetes",
|
14
|
-
"uid": "b6606490-db86-11e4-b293-f8b156af4ae1",
|
15
|
-
"resourceVersion": "6",
|
16
|
-
"creationTimestamp": "2015-04-05T11:27:15Z",
|
17
|
-
"labels": {
|
18
|
-
"component": "apiserver",
|
19
|
-
"provider": "kubernetes"
|
20
|
-
}
|
21
|
-
},
|
22
|
-
"spec": {
|
23
|
-
"ports": [
|
24
|
-
{
|
25
|
-
"name": "",
|
26
|
-
"protocol": "TCP",
|
27
|
-
"port": 443,
|
28
|
-
"targetPort": 443
|
29
|
-
}
|
30
|
-
],
|
31
|
-
"selector": null,
|
32
|
-
"clusterIP": "10.0.0.2",
|
33
|
-
"sessionAffinity": "None"
|
34
|
-
},
|
35
|
-
"status": {}
|
36
|
-
},
|
37
|
-
{
|
38
|
-
"metadata": {
|
39
|
-
"name": "kubernetes-ro",
|
40
|
-
"namespace": "default",
|
41
|
-
"selfLink": "/api/v1/namespaces/default/services/kubernetes-ro",
|
42
|
-
"uid": "b6606694-db86-11e4-b293-f8b156af4ae1",
|
43
|
-
"resourceVersion": "5",
|
44
|
-
"creationTimestamp": "2015-04-05T11:27:15Z",
|
45
|
-
"labels": {
|
46
|
-
"component": "apiserver",
|
47
|
-
"provider": "kubernetes"
|
48
|
-
}
|
49
|
-
},
|
50
|
-
"spec": {
|
51
|
-
"ports": [
|
52
|
-
{
|
53
|
-
"name": "",
|
54
|
-
"protocol": "TCP",
|
55
|
-
"port": 80,
|
56
|
-
"targetPort": 80
|
57
|
-
}
|
58
|
-
],
|
59
|
-
"selector": null,
|
60
|
-
"clusterIP": "10.0.0.1",
|
61
|
-
"sessionAffinity": "None"
|
62
|
-
},
|
63
|
-
"status": {}
|
64
|
-
},
|
65
|
-
{
|
66
|
-
"metadata": {
|
67
|
-
"name": "redis-slave",
|
68
|
-
"namespace": "development",
|
69
|
-
"selfLink": "/api/v1/namespaces/development/services/redis-slave",
|
70
|
-
"uid": "bdb80a8f-db93-11e4-b293-f8b156af4ae1",
|
71
|
-
"resourceVersion": "2815",
|
72
|
-
"creationTimestamp": "2015-04-05T13:00:31Z",
|
73
|
-
"labels": {
|
74
|
-
"name": "redis",
|
75
|
-
"role": "slave"
|
76
|
-
}
|
77
|
-
},
|
78
|
-
"spec": {
|
79
|
-
"ports": [
|
80
|
-
{
|
81
|
-
"name": "",
|
82
|
-
"protocol": "TCP",
|
83
|
-
"port": 6379,
|
84
|
-
"targetPort": "redis-server"
|
85
|
-
}
|
86
|
-
],
|
87
|
-
"selector": {
|
88
|
-
"name": "redis",
|
89
|
-
"role": "slave"
|
90
|
-
},
|
91
|
-
"clusterIP": "10.0.0.140",
|
92
|
-
"sessionAffinity": "None"
|
93
|
-
},
|
94
|
-
"status": {}
|
95
|
-
}
|
96
|
-
]
|
97
|
-
}
|
@@ -1,26 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"status" : {},
|
3
|
-
"kind" : "Service",
|
4
|
-
"apiVersion" : "v1",
|
5
|
-
"spec" : {
|
6
|
-
"ports" : [
|
7
|
-
{
|
8
|
-
"targetPort" : 80,
|
9
|
-
"nodePort" : 0,
|
10
|
-
"port" : 80,
|
11
|
-
"protocol" : "TCP"
|
12
|
-
}
|
13
|
-
],
|
14
|
-
"clusterIP" : "1.2.3.4",
|
15
|
-
"type": "NodePort"
|
16
|
-
},
|
17
|
-
"metadata" : {
|
18
|
-
"name" : "my-service",
|
19
|
-
"creationTimestamp" : null,
|
20
|
-
"namespace" : "development",
|
21
|
-
"resourceVersion" : "2",
|
22
|
-
"annotations" : {
|
23
|
-
"key" : "value"
|
24
|
-
}
|
25
|
-
}
|
26
|
-
}
|
@@ -1,25 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"status" : {},
|
3
|
-
"kind" : "Service",
|
4
|
-
"apiVersion" : "v1",
|
5
|
-
"spec" : {
|
6
|
-
"ports" : [
|
7
|
-
{
|
8
|
-
"targetPort" : 80,
|
9
|
-
"nodePort" : 0,
|
10
|
-
"port" : 80,
|
11
|
-
"protocol" : "TCP"
|
12
|
-
}
|
13
|
-
],
|
14
|
-
"clusterIP" : "1.2.3.4"
|
15
|
-
},
|
16
|
-
"metadata" : {
|
17
|
-
"name" : "my_service",
|
18
|
-
"creationTimestamp" : null,
|
19
|
-
"namespace" : "development",
|
20
|
-
"resourceVersion" : "2",
|
21
|
-
"annotations" : {
|
22
|
-
"key" : "value"
|
23
|
-
}
|
24
|
-
}
|
25
|
-
}
|
@@ -1,22 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"status" : {},
|
3
|
-
"kind" : "Service",
|
4
|
-
"apiVersion" : "v1",
|
5
|
-
"spec" : {
|
6
|
-
"ports" : [
|
7
|
-
{
|
8
|
-
"targetPort" : 80,
|
9
|
-
"nodePort" : 0,
|
10
|
-
"port" : 80,
|
11
|
-
"protocol" : "TCP"
|
12
|
-
}
|
13
|
-
],
|
14
|
-
"clusterIP" : "1.2.3.4"
|
15
|
-
},
|
16
|
-
"metadata" : {
|
17
|
-
"name" : "my_service",
|
18
|
-
"creationTimestamp" : null,
|
19
|
-
"namespace" : "default",
|
20
|
-
"resourceVersion" : "2"
|
21
|
-
}
|
22
|
-
}
|
data/test/json/template.json
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"apiVersion": "template.openshift.io/v1",
|
3
|
-
"kind": "Template",
|
4
|
-
"metadata": {
|
5
|
-
"creationTimestamp": "2018-12-17T16:11:36Z",
|
6
|
-
"name": "my-template",
|
7
|
-
"namespace": "default",
|
8
|
-
"resourceVersion": "21954",
|
9
|
-
"selfLink": "/apis/template.openshift.io/v1/namespaces/default/templates/my-template",
|
10
|
-
"uid": "6e03e3e6-0216-11e9-b1e0-68f728fac3ab"
|
11
|
-
},
|
12
|
-
"objects": [
|
13
|
-
{
|
14
|
-
"apiVersion": "v1",
|
15
|
-
"kind": "Service",
|
16
|
-
"metadata": {
|
17
|
-
"name": "${NAME_PREFIX}my-service"
|
18
|
-
}
|
19
|
-
}
|
20
|
-
],
|
21
|
-
"parameters": [
|
22
|
-
{
|
23
|
-
"description": "Prefix for names",
|
24
|
-
"name": "NAME_PREFIX"
|
25
|
-
}
|
26
|
-
]
|
27
|
-
}
|
@@ -1,75 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"kind": "APIResourceList",
|
3
|
-
"apiVersion": "v1",
|
4
|
-
"groupVersion": "template.openshift.io/v1",
|
5
|
-
"resources": [
|
6
|
-
{
|
7
|
-
"name": "brokertemplateinstances",
|
8
|
-
"singularName": "",
|
9
|
-
"namespaced": false,
|
10
|
-
"kind": "BrokerTemplateInstance",
|
11
|
-
"verbs": [
|
12
|
-
"create",
|
13
|
-
"delete",
|
14
|
-
"deletecollection",
|
15
|
-
"get",
|
16
|
-
"list",
|
17
|
-
"patch",
|
18
|
-
"update",
|
19
|
-
"watch"
|
20
|
-
]
|
21
|
-
},
|
22
|
-
{
|
23
|
-
"name": "processedtemplates",
|
24
|
-
"singularName": "",
|
25
|
-
"namespaced": true,
|
26
|
-
"kind": "Template",
|
27
|
-
"verbs": [
|
28
|
-
"create"
|
29
|
-
]
|
30
|
-
},
|
31
|
-
{
|
32
|
-
"name": "templateinstances",
|
33
|
-
"singularName": "",
|
34
|
-
"namespaced": true,
|
35
|
-
"kind": "TemplateInstance",
|
36
|
-
"verbs": [
|
37
|
-
"create",
|
38
|
-
"delete",
|
39
|
-
"deletecollection",
|
40
|
-
"get",
|
41
|
-
"list",
|
42
|
-
"patch",
|
43
|
-
"update",
|
44
|
-
"watch"
|
45
|
-
]
|
46
|
-
},
|
47
|
-
{
|
48
|
-
"name": "templateinstances/status",
|
49
|
-
"singularName": "",
|
50
|
-
"namespaced": true,
|
51
|
-
"kind": "TemplateInstance",
|
52
|
-
"verbs": [
|
53
|
-
"get",
|
54
|
-
"patch",
|
55
|
-
"update"
|
56
|
-
]
|
57
|
-
},
|
58
|
-
{
|
59
|
-
"name": "templates",
|
60
|
-
"singularName": "",
|
61
|
-
"namespaced": true,
|
62
|
-
"kind": "Template",
|
63
|
-
"verbs": [
|
64
|
-
"create",
|
65
|
-
"delete",
|
66
|
-
"deletecollection",
|
67
|
-
"get",
|
68
|
-
"list",
|
69
|
-
"patch",
|
70
|
-
"update",
|
71
|
-
"watch"
|
72
|
-
]
|
73
|
-
}
|
74
|
-
]
|
75
|
-
}
|
@@ -1,35 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"kind": "TemplateList",
|
3
|
-
"apiVersion": "template.openshift.io/v1",
|
4
|
-
"metadata": {
|
5
|
-
"selfLink": "/apis/template.openshift.io/v1/namespaces/default/templates",
|
6
|
-
"resourceVersion": "22758"
|
7
|
-
},
|
8
|
-
"items": [
|
9
|
-
{
|
10
|
-
"metadata": {
|
11
|
-
"name": "my-template",
|
12
|
-
"namespace": "default",
|
13
|
-
"selfLink": "/apis/template.openshift.io/v1/namespaces/default/templates/my-template",
|
14
|
-
"uid": "6e03e3e6-0216-11e9-b1e0-68f728fac3ab",
|
15
|
-
"resourceVersion": "21954",
|
16
|
-
"creationTimestamp": "2018-12-17T16:11:36Z"
|
17
|
-
},
|
18
|
-
"objects": [
|
19
|
-
{
|
20
|
-
"apiVersion": "v1",
|
21
|
-
"kind": "Service",
|
22
|
-
"metadata": {
|
23
|
-
"name": "${NAME_PREFIX}my-service"
|
24
|
-
}
|
25
|
-
}
|
26
|
-
],
|
27
|
-
"parameters": [
|
28
|
-
{
|
29
|
-
"name": "NAME_PREFIX",
|
30
|
-
"description": "Prefix for names"
|
31
|
-
}
|
32
|
-
]
|
33
|
-
}
|
34
|
-
]
|
35
|
-
}
|
data/test/json/watch_stream.json
DELETED
@@ -1,3 +0,0 @@
|
|
1
|
-
{"type":"ADDED","object":{"kind":"Pod","apiVersion":"v1","metadata":{"name":"php","namespace":"default","selfLink":"/api/v1/pods/php","uid":"e75f2c07-b047-11e4-89e4-525400c903c1","resourceVersion":"1389","creationTimestamp":"2015-02-09T05:39:19-05:00","labels":{"name":"foo"}},"spec":{"volumes":null,"containers":[{"name":"nginx","image":"dockerfile/nginx","ports":[{"hostPort":9090,"containerPort":80,"protocol":"TCP"}],"resources":{},"livenessProbe":{"httpGet":{"path":"/index.html","port":"9090"},"initialDelaySeconds":30},"terminationMessagePath":"/dev/termination-log","imagePullPolicy":"IfNotPresent","securityContext":{"capabilities":{}}}],"restartPolicy":{"always":{}},"dnsPolicy":"ClusterFirst"},"status":{"phase":"Pending"}}}
|
2
|
-
{"type":"MODIFIED","object":{"kind":"Pod","apiVersion":"v1","metadata":{"name":"php","namespace":"default","selfLink":"/api/v1/pods/php","uid":"e75f2c07-b047-11e4-89e4-525400c903c1","resourceVersion":"1390","creationTimestamp":"2015-02-09T05:39:19-05:00","labels":{"name":"foo"}},"spec":{"volumes":null,"containers":[{"name":"nginx","image":"dockerfile/nginx","ports":[{"hostPort":9090,"containerPort":80,"protocol":"TCP"}],"resources":{},"livenessProbe":{"httpGet":{"path":"/index.html","port":"9090"},"initialDelaySeconds":30},"terminationMessagePath":"/dev/termination-log","imagePullPolicy":"IfNotPresent","securityContext":{"capabilities":{}}}],"restartPolicy":{"always":{}},"dnsPolicy":"ClusterFirst"},"status":{"phase":"Pending","host":"127.0.0.1"}}}
|
3
|
-
{"type":"DELETED","object":{"kind":"Pod","apiVersion":"v1","metadata":{"name":"php","namespace":"default","selfLink":"/api/v1/pods/php","uid":"e75f2c07-b047-11e4-89e4-525400c903c1","resourceVersion":"1398","creationTimestamp":"2015-02-09T05:39:19-05:00","labels":{"name":"foo"}},"spec":{"volumes":null,"containers":[{"name":"nginx","image":"dockerfile/nginx","ports":[{"hostPort":9090,"containerPort":80,"protocol":"TCP"}],"resources":{},"livenessProbe":{"httpGet":{"path":"/index.html","port":"9090"},"initialDelaySeconds":30},"terminationMessagePath":"/dev/termination-log","imagePullPolicy":"IfNotPresent","securityContext":{"capabilities":{}}}],"restartPolicy":{"always":{}},"dnsPolicy":"ClusterFirst"},"status":{"phase":"Pending","host":"127.0.0.1"}}}
|
data/test/test_common.rb
DELETED
@@ -1,95 +0,0 @@
|
|
1
|
-
|
2
|
-
require_relative 'test_helper'
|
3
|
-
|
4
|
-
# Unit tests for the common module
|
5
|
-
class CommonTest < MiniTest::Test
|
6
|
-
class ClientStub
|
7
|
-
include Kubeclient::ClientMixin
|
8
|
-
end
|
9
|
-
|
10
|
-
def client
|
11
|
-
@client ||= ClientStub.new
|
12
|
-
end
|
13
|
-
|
14
|
-
def test_underscore_entity
|
15
|
-
%w[
|
16
|
-
Pod pod
|
17
|
-
Service service
|
18
|
-
ReplicationController replication_controller
|
19
|
-
Node node
|
20
|
-
Event event
|
21
|
-
Endpoint endpoint
|
22
|
-
Namespace namespace
|
23
|
-
Secret secret
|
24
|
-
ResourceQuota resource_quota
|
25
|
-
LimitRange limit_range
|
26
|
-
PersistentVolume persistent_volume
|
27
|
-
PersistentVolumeClaim persistent_volume_claim
|
28
|
-
ComponentStatus component_status
|
29
|
-
ServiceAccount service_account
|
30
|
-
Project project
|
31
|
-
Route route
|
32
|
-
ClusterRoleBinding cluster_role_binding
|
33
|
-
Build build
|
34
|
-
BuildConfig build_config
|
35
|
-
Image image
|
36
|
-
ImageStream image_stream
|
37
|
-
dogstatsd dogstatsd
|
38
|
-
lowerCamelUPPERCase lower_camel_uppercase
|
39
|
-
HTTPAPISpecBinding httpapispec_binding
|
40
|
-
APIGroup apigroup
|
41
|
-
APIGroupList apigroup_list
|
42
|
-
APIResourceList apiresource_list
|
43
|
-
APIService apiservice
|
44
|
-
APIServiceList apiservice_list
|
45
|
-
APIVersions apiversions
|
46
|
-
OAuthAccessToken oauth_access_token
|
47
|
-
OAuthAccessTokenList oauth_access_token_list
|
48
|
-
OAuthAuthorizeToken oauth_authorize_token
|
49
|
-
OAuthAuthorizeTokenList oauth_authorize_token_list
|
50
|
-
OAuthClient oauth_client
|
51
|
-
OAuthClientAuthorization oauth_client_authorization
|
52
|
-
OAuthClientAuthorizationList oauth_client_authorization_list
|
53
|
-
OAuthClientList oauth_client_list
|
54
|
-
].each_slice(2) do |kind, expected_underscore|
|
55
|
-
underscore = Kubeclient::ClientMixin.underscore_entity(kind)
|
56
|
-
assert_equal(underscore, expected_underscore)
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
def test_format_datetime_with_string
|
61
|
-
value = '2018-04-27T18:30:17.480321984Z'
|
62
|
-
formatted = client.send(:format_datetime, value)
|
63
|
-
assert_equal(formatted, value)
|
64
|
-
end
|
65
|
-
|
66
|
-
def test_format_datetime_with_datetime
|
67
|
-
value = DateTime.new(2018, 4, 30, 19, 20, 33)
|
68
|
-
formatted = client.send(:format_datetime, value)
|
69
|
-
assert_equal(formatted, '2018-04-30T19:20:33.000000000+00:00')
|
70
|
-
end
|
71
|
-
|
72
|
-
def test_format_datetime_with_time
|
73
|
-
value = Time.new(2018, 4, 30, 19, 20, 33, 0)
|
74
|
-
formatted = client.send(:format_datetime, value)
|
75
|
-
assert_equal(formatted, '2018-04-30T19:20:33.000000000+00:00')
|
76
|
-
end
|
77
|
-
|
78
|
-
def test_parse_definition_with_unconventional_names
|
79
|
-
%w[
|
80
|
-
PluralPolicy pluralpolicies plural_policy plural_policies
|
81
|
-
LatinDatum latindata latin_datum latin_data
|
82
|
-
Noseparator noseparators noseparator noseparators
|
83
|
-
lowercase lowercases lowercase lowercases
|
84
|
-
TestWithDash test-with-dashes test_with_dash test_with_dashes
|
85
|
-
TestUnderscore test_underscores test_underscore test_underscores
|
86
|
-
TestMismatch other-odd-name testmismatch otheroddname
|
87
|
-
MixedDashMinus mixed-dash_minuses mixed_dash_minus mixed_dash_minuses
|
88
|
-
SameUptoWordboundary sameup-toword-boundarys sameuptowordboundary sameuptowordboundarys
|
89
|
-
].each_slice(4) do |kind, plural, expected_single, expected_plural|
|
90
|
-
method_names = Kubeclient::ClientMixin.parse_definition(kind, plural).method_names
|
91
|
-
assert_equal(method_names[0], expected_single)
|
92
|
-
assert_equal(method_names[1], expected_plural)
|
93
|
-
end
|
94
|
-
end
|
95
|
-
end
|