def test_kubeconfig_default(): parser = parse_args([ 'interactive', '--inventory-kubernetes', '--no-cloud' ]) assert parser.kubeconfig is None
def test_validate_policy_file_does_not_require_other_arguments(): parser = parse_args([ 'validate', '--policy-file', 'test/config.yml' ]) assert parser.mode == "validate" assert parser.policy_file == 'test/config.yml'
def test_interactive_mode_integration(): parser = parse_args([ 'interactive', '--inventory-kubernetes', '--kubeconfig', '~/.kube/config', '--no-cloud' ]) assert parser.mode == "interactive" assert parser.inventory_kubernetes assert parser.kubeconfig == HOME + '/.kube/config' assert parser.no_cloud
def test_interactive_mode_integration(): parser = parse_args([ '--inventory-kubernetes', '--kube-config', '~/.kube/config', '--no-cloud', '--interactive' ]) assert parser.inventory_kubernetes assert parser.kube_config == '~/.kube/config' assert parser.no_cloud assert parser.interactive
def test_autonomous_mode_integration(): parser = parse_args([ 'autonomous', '--inventory-kubernetes', '--kubeconfig', '~/config', '--no-cloud', '--policy-file', '~/policy.yml' ]) assert parser.mode == "autonomous" assert parser.inventory_kubernetes assert parser.kubeconfig == HOME + '/config' assert parser.no_cloud assert parser.policy_file == '~/policy.yml'
def test_in_cluster_takes_4th_precedence(monkeypatch, tmpdir): p2 = tmpdir.join("kubeconfig2") p2.write("{}") monkeypatch.delenv('KUBECONFIG', raising=False) with patch("powerfulseal.cli.__main__.KUBECONFIG_DEFAULT_PATH", "/probably/doesnt/exist"): kube_config = powerfulseal.cli.__main__.parse_kubeconfig( parse_args(['interactive', '--inventory-kubernetes', '--no-cloud'])) assert kube_config == None
def test_home_kubeconfig_takes_3rd_precedence(monkeypatch, tmpdir): p2 = tmpdir.join("kubeconfig2") p2.write("{}") monkeypatch.delenv('KUBECONFIG', raising=False) with patch("powerfulseal.cli.__main__.KUBECONFIG_DEFAULT_PATH", str(p2.realpath())): kube_config = powerfulseal.cli.__main__.parse_kubeconfig( parse_args(['interactive', '--inventory-kubernetes', '--no-cloud'])) assert kube_config == str(p2.realpath())
def test_autonomous_mode_integration(): parser = parse_args([ '--inventory-kubernetes', '--kube-config', '~/.kube/config', '--no-cloud', '--run-policy-file', '~/policy.yml', '--inventory-kubernetes' ]) assert parser.inventory_kubernetes assert parser.kube_config == '~/.kube/config' assert parser.no_cloud assert parser.run_policy_file == '~/policy.yml' assert parser.inventory_kubernetes
def test_flag_takes_precedence(monkeypatch, tmpdir): p1 = tmpdir.join("kubeconfig1") p1.write("{}") p2 = tmpdir.join("kubeconfig2") p2.write("{}") monkeypatch.setenv('KUBECONFIG', str(p1.realpath())) with patch("powerfulseal.cli.__main__.KUBECONFIG_DEFAULT_PATH", str(p2.realpath())): kube_config = powerfulseal.cli.__main__.parse_kubeconfig( parse_args([ 'interactive', '--kubeconfig', '~/LOL', '--inventory-kubernetes', '--no-cloud' ])) assert kube_config == HOME + "/LOL"