summaryrefslogtreecommitdiff
path: root/vendor/gems/kubeclient/test/test_guestbook_go.rb
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gems/kubeclient/test/test_guestbook_go.rb')
-rw-r--r--vendor/gems/kubeclient/test/test_guestbook_go.rb237
1 files changed, 0 insertions, 237 deletions
diff --git a/vendor/gems/kubeclient/test/test_guestbook_go.rb b/vendor/gems/kubeclient/test/test_guestbook_go.rb
deleted file mode 100644
index a50e192a0c5..00000000000
--- a/vendor/gems/kubeclient/test/test_guestbook_go.rb
+++ /dev/null
@@ -1,237 +0,0 @@
-require_relative 'test_helper'
-require 'vcr'
-
-# creation of google's example of guest book
-class CreateGuestbookGo < MiniTest::Test
- def test_create_guestbook_entities
- VCR.configure do |c|
- c.cassette_library_dir = 'test/cassettes'
- c.hook_into(:webmock)
- end
-
- # WebMock.allow_net_connect!
- VCR.use_cassette('kubernetes_guestbook') do # , record: :new_episodes) do
- client = Kubeclient::Client.new('http://10.35.0.23:8080/api/', 'v1')
-
- testing_ns = Kubeclient::Resource.new
- testing_ns.metadata = {}
- testing_ns.metadata.name = 'kubeclient-ns'
-
- # delete in case they existed before so creation can be tested
- delete_namespace(client, testing_ns.metadata.name)
- delete_services(
- client, testing_ns.metadata.name,
- ['guestbook', 'redis-master', 'redis-slave']
- )
- delete_replication_controllers(
- client, testing_ns.metadata.name,
- ['guestbook', 'redis-master', 'redis-slave']
- )
-
- client.create_namespace(testing_ns)
- services = create_services(client, testing_ns.metadata.name)
- replicators = create_replication_controllers(client, testing_ns.metadata.name)
-
- get_namespaces(client)
- get_services(client, testing_ns.metadata.name)
- get_replication_controllers(client, testing_ns.metadata.name)
-
- delete_services(client, testing_ns.metadata.name, services)
- delete_replication_controllers(client, testing_ns.metadata.name, replicators)
-
- client.delete_namespace(testing_ns.metadata.name)
- end
- ensure
- VCR.turn_off!
- end
-
- def delete_namespace(client, namespace_name)
- client.delete_namespace(namespace_name)
- rescue Kubeclient::ResourceNotFoundError => exception
- assert_equal(404, exception.error_code)
- end
-
- def get_namespaces(client)
- namespaces = client.get_namespaces
- assert(true, namespaces.size > 2)
- end
-
- def get_services(client, ns)
- retrieved_services = client.get_services(namespace: ns)
- assert_equal(3, retrieved_services.size)
- end
-
- def get_replication_controllers(client, ns)
- retrieved_replicators = client.get_replication_controllers(namespace: ns)
- assert_equal(3, retrieved_replicators.size)
- end
-
- def create_services(client, ns)
- guestbook_service = client.create_service(guestbook_service(ns))
- redis_service = client.create_service(redis_service(ns))
- redis_slave_service = client.create_service(redis_slave_service(ns))
- [guestbook_service, redis_service, redis_slave_service]
- end
-
- def create_replication_controllers(client, namespace)
- rc = client.create_replication_controller(guestbook_rc(namespace))
- rc2 = client.create_replication_controller(redis_master_rc(namespace))
- rc3 = client.create_replication_controller(redis_slave_rc(namespace))
- [rc, rc2, rc3]
- end
-
- def delete_services(client, namespace, services)
- # if the entity is not found, no need to fail the test
- services.each do |service|
- begin
- if service.instance_of?(Kubeclient::Resource)
- client.delete_service(service.metadata.name, namespace)
- else
- # it's just a string - service name
- client.delete_service(service, namespace)
- end
- rescue Kubeclient::ResourceNotFoundError => exception
- assert_equal(404, exception.error_code)
- end
- end
- end
-
- def delete_replication_controllers(client, namespace, replication_controllers)
- # if the entity is not found, no need to fail the test
- replication_controllers.each do |rc|
- begin
- if rc.instance_of?(Kubeclient::Resource)
- client.delete_replication_controller(rc.metadata.name, namespace)
- else
- # it's just a string - rc name
- client.delete_replication_controller(rc, namespace)
- end
- rescue Kubeclient::ResourceNotFoundError => exception
- assert_equal(404, exception.error_code)
- end
- end
- end
-
- private
-
- def construct_base_rc(namespace)
- rc = Kubeclient::Resource.new
- rc.metadata = {}
- rc.metadata.namespace = namespace
- rc.metadata.labels = {}
- rc.spec = {}
- rc.spec.selector = {}
- rc.spec.template = {}
- rc.spec.template.metadata = {}
- rc.spec.template.spec = {}
- rc.spec.template.metadata.labels = {}
- rc
- end
-
- def redis_master_rc(namespace)
- rc = construct_base_rc(namespace)
- rc.metadata.name = 'redis-master'
- rc.metadata.labels.app = 'redis'
- rc.metadata.labels.role = 'master'
- rc.spec.replicas = 1
- rc.spec.selector.app = 'redis'
- rc.spec.selector.role = 'master'
- rc.spec.template.metadata.labels.app = 'redis'
- rc.spec.template.metadata.labels.role = 'master'
- rc.spec.template.spec.containers = [{
- 'name' => 'redis-master',
- 'image' => 'redis',
- 'ports' => [{
- 'name' => 'redis-server',
- 'containerPort' => 6379
- }]
- }]
- rc
- end
-
- def redis_slave_rc(namespace)
- rc = construct_base_rc(namespace)
- rc.metadata.name = 'redis-slave'
- rc.metadata.labels.app = 'redis'
- rc.metadata.labels.role = 'slave'
- rc.spec.replicas = 2
- rc.spec.selector.app = 'redis'
- rc.spec.selector.role = 'slave'
- rc.spec.template.metadata.labels.app = 'redis'
- rc.spec.template.metadata.labels.role = 'slave'
- rc.spec.template.spec.containers = [{
- 'name' => 'redis-slave',
- 'image' => 'kubernetes/redis-slave:v2',
- 'ports' => [{
- 'name' => 'redis-server',
- 'containerPort' => 6379
- }]
- }]
- rc
- end
-
- def guestbook_rc(namespace)
- rc = construct_base_rc(namespace)
- rc.metadata.name = 'guestbook'
- rc.metadata.labels.app = 'guestbook'
- rc.metadata.labels.role = 'slave'
- rc.spec.replicas = 3
- rc.spec.selector.app = 'guestbook'
- rc.spec.template.metadata.labels.app = 'guestbook'
- rc.spec.template.spec.containers = [
- {
- 'name' => 'guestbook',
- 'image' => 'kubernetes/guestbook:v2',
- 'ports' => [
- {
- 'name' => 'http-server',
- 'containerPort' => 3000
- }
- ]
- }
- ]
- rc
- end
-
- def base_service(namespace)
- our_service = Kubeclient::Resource.new
- our_service.metadata = {}
- our_service.metadata.namespace = namespace
- our_service.metadata.labels = {}
- our_service.spec = {}
- our_service.spec.selector = {}
- our_service
- end
-
- def redis_slave_service(namespace)
- our_service = base_service(namespace)
- our_service.metadata.name = 'redis-slave'
- our_service.metadata.labels.app = 'redis'
- our_service.metadata.labels.role = 'slave'
- our_service.spec.ports = [{ 'port' => 6379, 'targetPort' => 'redis-server' }]
- our_service.spec.selector.app = 'redis'
- our_service.spec.selector.role = 'slave'
- our_service
- end
-
- def redis_service(namespace)
- our_service = base_service(namespace)
- our_service.metadata.name = 'redis-master'
- our_service.metadata.labels.app = 'redis'
- our_service.metadata.labels.role = 'master'
- our_service.spec.ports = [{ 'port' => 6379, 'targetPort' => 'redis-server' }]
- our_service.spec.selector.app = 'redis'
- our_service.spec.selector.role = 'master'
- our_service
- end
-
- def guestbook_service(namespace)
- our_service = base_service(namespace)
- our_service.metadata.name = 'guestbook'
- our_service.metadata.labels.name = 'guestbook'
- our_service.spec.ports = [{ 'port' => 3000, 'targetPort' => 'http-server' }]
- our_service.spec.selector.app = 'guestbook'
- our_service.type = 'LoadBalancer'
- our_service
- end
-end