diff options
Diffstat (limited to 'vendor/gems/kubeclient/test/test_guestbook_go.rb')
-rw-r--r-- | vendor/gems/kubeclient/test/test_guestbook_go.rb | 237 |
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 |