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_common.rb')
-rw-r--r--vendor/gems/kubeclient/test/test_common.rb95
1 files changed, 95 insertions, 0 deletions
diff --git a/vendor/gems/kubeclient/test/test_common.rb b/vendor/gems/kubeclient/test/test_common.rb
new file mode 100644
index 00000000000..32bf826085d
--- /dev/null
+++ b/vendor/gems/kubeclient/test/test_common.rb
@@ -0,0 +1,95 @@
+
+require_relative 'test_helper'
+
+# Unit tests for the common module
+class CommonTest < MiniTest::Test
+ class ClientStub
+ include Kubeclient::ClientMixin
+ end
+
+ def client
+ @client ||= ClientStub.new
+ end
+
+ def test_underscore_entity
+ %w[
+ Pod pod
+ Service service
+ ReplicationController replication_controller
+ Node node
+ Event event
+ Endpoint endpoint
+ Namespace namespace
+ Secret secret
+ ResourceQuota resource_quota
+ LimitRange limit_range
+ PersistentVolume persistent_volume
+ PersistentVolumeClaim persistent_volume_claim
+ ComponentStatus component_status
+ ServiceAccount service_account
+ Project project
+ Route route
+ ClusterRoleBinding cluster_role_binding
+ Build build
+ BuildConfig build_config
+ Image image
+ ImageStream image_stream
+ dogstatsd dogstatsd
+ lowerCamelUPPERCase lower_camel_uppercase
+ HTTPAPISpecBinding httpapispec_binding
+ APIGroup apigroup
+ APIGroupList apigroup_list
+ APIResourceList apiresource_list
+ APIService apiservice
+ APIServiceList apiservice_list
+ APIVersions apiversions
+ OAuthAccessToken oauth_access_token
+ OAuthAccessTokenList oauth_access_token_list
+ OAuthAuthorizeToken oauth_authorize_token
+ OAuthAuthorizeTokenList oauth_authorize_token_list
+ OAuthClient oauth_client
+ OAuthClientAuthorization oauth_client_authorization
+ OAuthClientAuthorizationList oauth_client_authorization_list
+ OAuthClientList oauth_client_list
+ ].each_slice(2) do |kind, expected_underscore|
+ underscore = Kubeclient::ClientMixin.underscore_entity(kind)
+ assert_equal(underscore, expected_underscore)
+ end
+ end
+
+ def test_format_datetime_with_string
+ value = '2018-04-27T18:30:17.480321984Z'
+ formatted = client.send(:format_datetime, value)
+ assert_equal(formatted, value)
+ end
+
+ def test_format_datetime_with_datetime
+ value = DateTime.new(2018, 4, 30, 19, 20, 33)
+ formatted = client.send(:format_datetime, value)
+ assert_equal(formatted, '2018-04-30T19:20:33.000000000+00:00')
+ end
+
+ def test_format_datetime_with_time
+ value = Time.new(2018, 4, 30, 19, 20, 33, 0)
+ formatted = client.send(:format_datetime, value)
+ assert_equal(formatted, '2018-04-30T19:20:33.000000000+00:00')
+ end
+
+ def test_parse_definition_with_unconventional_names
+ %w[
+ PluralPolicy pluralpolicies plural_policy plural_policies
+ LatinDatum latindata latin_datum latin_data
+ Noseparator noseparators noseparator noseparators
+ lowercase lowercases lowercase lowercases
+ TestWithDash test-with-dashes test_with_dash test_with_dashes
+ TestUnderscore test_underscores test_underscore test_underscores
+ TestMismatch other-odd-name testmismatch otheroddname
+ MixedDashMinus mixed-dash_minuses mixed_dash_minus mixed_dash_minuses
+ SameUptoWordboundary sameup-toword-boundarys sameuptowordboundary sameuptowordboundarys
+ ].each_slice(4) do |kind, plural, expected_single, expected_plural|
+ method_names = Kubeclient::ClientMixin.parse_definition(kind, plural).method_names
+ assert_equal(method_names[0], expected_single)
+ assert_equal(method_names[1], expected_plural)
+ end
+ end
+end