def test_success_1(self): resource_conf = {'name': ['${var.name}-${var.region}-mesos-ssh'], 'network': ['${google_compute_network.mesos-global-net.name}'], 'allow': [{'protocol': ['tcp'], 'ports': [[ PORT]]}], 'target_tags': [['ssh']], 'source_ranges': [['172.1.2.3/32']]} scan_result = check.scan_resource_conf(conf=resource_conf) self.assertEqual(CheckResult.PASSED, scan_result)
def test_failure(self): resource_conf = { 'name': ['${var.name}-${var.region}-mesos-ssh'], 'network': ['${google_compute_network.mesos-global-net.name}'], 'allow': [{ 'protocol': ['tcp'], 'ports': [[str(PORT)]] }], 'target_tags': [['ssh']], 'source_ranges': [['0.0.0.0/0']] } scan_result = check.scan_resource_conf(conf=resource_conf) self.assertEqual(CheckResult.FAILED, scan_result)
def test_success_2(self): hcl_res = hcl2.loads(""" resource "google_compute_firewall" "no-allow-blocks" { name = "deny-all-egress-all" description = "Prevent all egress traffic by default" disabled = true network = google_compute_network.vpc_network.name enable_logging = true priority = 65534 direction = "EGRESS" destination_ranges = ["0.0.0.0/0"] deny { protocol = "all" } } """) resource_conf = hcl_res['resource'][0]['google_compute_firewall']['no-allow-blocks'] scan_result = check.scan_resource_conf(conf=resource_conf) self.assertEqual(CheckResult.PASSED, scan_result)