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_pod.rb')
-rw-r--r--vendor/gems/kubeclient/test/test_pod.rb81
1 files changed, 81 insertions, 0 deletions
diff --git a/vendor/gems/kubeclient/test/test_pod.rb b/vendor/gems/kubeclient/test/test_pod.rb
new file mode 100644
index 00000000000..afad1774f5e
--- /dev/null
+++ b/vendor/gems/kubeclient/test/test_pod.rb
@@ -0,0 +1,81 @@
+require_relative 'test_helper'
+
+# Pod entity tests
+class TestPod < MiniTest::Test
+ def test_get_from_json_v1
+ stub_core_api_list
+ stub_request(:get, %r{/pods})
+ .to_return(body: open_test_file('pod.json'), status: 200)
+
+ client = Kubeclient::Client.new('http://localhost:8080/api/', 'v1')
+ pod = client.get_pod('redis-master-pod', 'default')
+
+ assert_instance_of(Kubeclient::Resource, pod)
+ assert_equal('redis-master3', pod.metadata.name)
+ assert_equal('dockerfile/redis', pod.spec.containers[0]['image'])
+
+ assert_requested(
+ :get,
+ 'http://localhost:8080/api/v1',
+ times: 1
+ )
+ assert_requested(
+ :get,
+ 'http://localhost:8080/api/v1/namespaces/default/pods/redis-master-pod',
+ times: 1
+ )
+ end
+
+ def test_get_chunks
+ stub_core_api_list
+ stub_request(:get, %r{/pods})
+ .to_return(body: open_test_file('pods_1.json'), status: 200)
+
+ client = Kubeclient::Client.new('http://localhost:8080/api/', 'v1')
+ pods = client.get_pods(limit: 2)
+
+ assert_equal(2, pods.count)
+ assert_equal('eyJ2IjoibWV0YS5rOHMua', pods.continue)
+
+ continue = pods.continue
+
+ stub_request(:get, %r{/pods})
+ .to_return(body: open_test_file('pods_2.json'), status: 200)
+
+ pods = client.get_pods(limit: 2, continue: continue)
+ assert_equal(2, pods.count)
+ assert_nil(pods.continue)
+
+ assert_requested(
+ :get,
+ 'http://localhost:8080/api/v1',
+ times: 1
+ )
+ assert_requested(
+ :get,
+ 'http://localhost:8080/api/v1/pods?limit=2',
+ times: 1
+ )
+ assert_requested(
+ :get,
+ "http://localhost:8080/api/v1/pods?continue=#{continue}&limit=2",
+ times: 1
+ )
+ end
+
+ def test_get_chunks_410_gone
+ stub_core_api_list
+ stub_request(:get, %r{/pods})
+ .to_return(body: open_test_file('pods_410.json'), status: 410)
+
+ client = Kubeclient::Client.new('http://localhost:8080/api/', 'v1')
+
+ err = assert_raises Kubeclient::HttpError do
+ client.get_pods(limit: 2, continue: 'eyJ2IjoibWV0YS5')
+ end
+
+ assert_equal(err.message,
+ "The provided from parameter is too old to display a consistent list result. \
+You must start a new list without the from.")
+ end
+end