Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gems/kubeclient/test/test_security_context_constraint.rb')
-rw-r--r--vendor/gems/kubeclient/test/test_security_context_constraint.rb62
1 files changed, 62 insertions, 0 deletions
diff --git a/vendor/gems/kubeclient/test/test_security_context_constraint.rb b/vendor/gems/kubeclient/test/test_security_context_constraint.rb
new file mode 100644
index 00000000000..23e53c4464e
--- /dev/null
+++ b/vendor/gems/kubeclient/test/test_security_context_constraint.rb
@@ -0,0 +1,62 @@
+require_relative 'test_helper'
+
+# kind: 'SecurityContextConstraints' entity tests.
+# This is one of the unusual `kind`s that are already plural (https://github.com/kubernetes/kubernetes/issues/8115).
+# We force singular in method names like 'create_endpoint',
+# but `kind` should remain plural as in kubernetes.
+class TestSecurityContextConstraints < MiniTest::Test
+ def test_create_security_context_constraint
+ stub_request(:get, %r{/apis/security.openshift.io/v1$}).to_return(
+ body: open_test_file('security.openshift.io_api_resource_list.json'),
+ status: 200
+ )
+
+ testing_scc = Kubeclient::Resource.new(
+ metadata: {
+ name: 'teleportation'
+ },
+ runAsUser: {
+ type: 'MustRunAs'
+ },
+ seLinuxContext: {
+ type: 'MustRunAs'
+ }
+ )
+ req_body = '{"metadata":{"name":"teleportation"},"runAsUser":{"type":"MustRunAs"},' \
+ '"seLinuxContext":{"type":"MustRunAs"},' \
+ '"kind":"SecurityContextConstraints","apiVersion":"security.openshift.io/v1"}'
+
+ stub_request(:post, 'http://localhost:8080/apis/security.openshift.io/v1/securitycontextconstraints')
+ .with(body: req_body)
+ .to_return(body: open_test_file('created_security_context_constraint.json'), status: 201)
+
+ client = Kubeclient::Client.new('http://localhost:8080/apis/security.openshift.io', 'v1')
+ created_scc = client.create_security_context_constraint(testing_scc)
+ assert_equal('SecurityContextConstraints', created_scc.kind)
+ assert_equal('security.openshift.io/v1', created_scc.apiVersion)
+
+ client = Kubeclient::Client.new('http://localhost:8080/apis/security.openshift.io', 'v1',
+ as: :parsed_symbolized)
+ created_scc = client.create_security_context_constraint(testing_scc)
+ assert_equal('SecurityContextConstraints', created_scc[:kind])
+ assert_equal('security.openshift.io/v1', created_scc[:apiVersion])
+ end
+
+ def test_get_security_context_constraints
+ stub_request(:get, %r{/apis/security.openshift.io/v1$}).to_return(
+ body: open_test_file('security.openshift.io_api_resource_list.json'),
+ status: 200
+ )
+ stub_request(:get, %r{/securitycontextconstraints})
+ .to_return(body: open_test_file('security_context_constraint_list.json'), status: 200)
+ client = Kubeclient::Client.new('http://localhost:8080/apis/security.openshift.io', 'v1')
+
+ collection = client.get_security_context_constraints(as: :parsed_symbolized)
+ assert_equal('SecurityContextConstraintsList', collection[:kind])
+ assert_equal('security.openshift.io/v1', collection[:apiVersion])
+
+ # Stripping of 'List' in collection.kind RecursiveOpenStruct mode only is historic.
+ collection = client.get_security_context_constraints
+ assert_equal('SecurityContextConstraints', collection.kind)
+ end
+end