debian-mirror-gitlab/vendor/gems/kubeclient/test/test_common.rb
2023-03-04 22:38:38 +05:30

95 lines
3.2 KiB
Ruby

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