# Copyright [2017] [Red Hat, Inc.] # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Test ConfigMapHash and SecretHash equivalents # tests based on https://github.com/kubernetes/kubernetes/pull/49961 from __future__ import absolute_import, division, print_function __metaclass__ = type from ansible_collections.kubernetes.core.plugins.module_utils.hashes import ( generate_hash, ) tests = [ dict( resource=dict(kind="ConfigMap", metadata=dict(name="foo"), data=dict()), expected="867km9574f", ), dict( resource=dict( kind="ConfigMap", metadata=dict(name="foo"), type="my-type", data=dict() ), expected="867km9574f", ), dict( resource=dict( kind="ConfigMap", metadata=dict(name="foo"), data=dict(key1="value1", key2="value2"), ), expected="gcb75dd9gb", ), dict( resource=dict(kind="Secret", metadata=dict(name="foo"), data=dict()), expected="949tdgdkgg", ), dict( resource=dict( kind="Secret", metadata=dict(name="foo"), type="my-type", data=dict() ), expected="dg474f9t76", ), dict( resource=dict( kind="Secret", metadata=dict(name="foo"), data=dict(key1="dmFsdWUx", key2="dmFsdWUy"), ), expected="tf72c228m4", ), ] def test_hashes(): for test in tests: assert generate_hash(test["resource"]) == test["expected"]