def test_0000_setup(self): self._config = Environment.get_config() TestFirewallRule._logger = Environment.get_default_logger() TestFirewallRule._client = Environment.get_sys_admin_client() TestFirewallRule._runner = CliRunner() default_org = self._config['vcd']['default_org_name'] TestFirewallRule._ext_nw = self._config['external_network']['name'] self._login() TestFirewallRule._runner.invoke(org, ['use', default_org]) result = TestFirewallRule._runner.invoke( gateway, args=[ 'services', 'firewall', 'create', TestFirewallRule.__name, '--name', TestFirewallRule.__firewall_rule_name, '--action', 'accept', '--type', 'User', '--enabled', '--logging-enabled' ]) self.assertEqual(0, result.exit_code) gateway_res = Environment.get_test_gateway(TestFirewallRule._client) gateway_obj = Gateway( TestFirewallRule._client, href=gateway_res.get('href')) firewall_rules = gateway_obj.get_firewall_rules() for rule in firewall_rules.firewallRules.firewallRule: if rule.name == TestFirewallRule.__firewall_rule_name: TestFirewallRule._rule_id = rule.id break
def test_0010_add_ipsec_vpn(self): """Add Ip sec VPN in the gateway. Invokes the add_ipsec_vpn of the gateway. """ gateway = Environment.get_test_gateway(TestIpSecVpn._client) gateway_obj1 = Gateway(TestIpSecVpn._client, GatewayConstants.name, href=gateway.get('href')) TestIpSecVpn._gateway1 = gateway_obj1 gateway_obj2 = TestIpSecVpn._gateway_obj TestIpSecVpn._local_ip = self.__get_ip_address( gateway=gateway_obj1, ext_net_name=TestIpSecVpn._ext_net_name) TestIpSecVpn._peer_ip = self.__get_ip_address( gateway=gateway_obj2, ext_net_name=TestIpSecVpn._ext_net_name) gateway_obj1.add_ipsec_vpn(name=TestIpSecVpn._ipsec_vpn_name, peer_id=TestIpSecVpn._peer_id, peer_ip_address=TestIpSecVpn._peer_ip, local_id=TestIpSecVpn._local_id, local_ip_address=TestIpSecVpn._local_ip, local_subnet=TestIpSecVpn._local_subnet, peer_subnet=TestIpSecVpn._peer_subnet, shared_secret_encrypted=TestIpSecVpn._psk) gateway_obj1.reload() ipsec_vpn = gateway_obj1.get_ipsec_vpn() self.__validate_ip_sec_vpn(ipsec_vpn)
def test_0000_setup(self): """Add Firewall Rules in the gateway. Invokes the add_firewall_rule of the gateway. """ TestFirewallRules._org_client = Environment.get_client_in_default_org( TestFirewallRules._test_runner_role) TestFirewallRules._system_client = Environment.get_sys_admin_client() TestFirewallRules._config = Environment.get_config() gateway = Environment.get_test_gateway(TestFirewallRules._org_client) TestFirewallRules._gateway_obj = Gateway( TestFirewallRules._org_client, TestFirewallRules._name, href=gateway.get('href')) TestFirewallRules._external_network = Environment. \ get_test_external_network(TestFirewallRules._system_client) TestFirewallRules._gateway_obj.add_firewall_rule( TestFirewallRules._firewall_rule_name) firewall_rules_resource = \ TestFirewallRules._gateway_obj.get_firewall_rules() # Verify matchFound = False for firewallRule in firewall_rules_resource.firewallRules.firewallRule: if firewallRule['name'] == TestFirewallRules._firewall_rule_name: TestFirewallRules._rule_id = firewallRule.id matchFound = True break self.assertTrue(matchFound)
def test_0000_setup(self): self._config = Environment.get_config() TestFirewallRule._logger = Environment.get_default_logger() TestFirewallRule._client = Environment.get_sys_admin_client() TestFirewallRule._runner = CliRunner() default_org = self._config['vcd']['default_org_name'] TestFirewallRule._ext_nw = self._config['external_network']['name'] self._login() TestFirewallRule._runner.invoke(org, ['use', default_org]) result = TestFirewallRule._runner.invoke( gateway, args=[ 'services', 'firewall', 'create', TestFirewallRule.__name, '--name', TestFirewallRule.__firewall_rule_name, '--action', 'accept', '--type', 'User', '--enabled', '--logging-enabled' ]) self.assertEqual(0, result.exit_code) gateway_res = Environment.get_test_gateway(TestFirewallRule._client) gateway_obj = Gateway(TestFirewallRule._client, href=gateway_res.get('href')) firewall_rules = gateway_obj.get_firewall_rules() for rule in firewall_rules.firewallRules.firewallRule: if rule.name == TestFirewallRule.__firewall_rule_name: TestFirewallRule._rule_id = rule.id break
def __convert_enable_dr_in_gateway_using_sys_client(self, is_enable): client = TestNetwork._system_client gateway = Environment.get_test_gateway(client) if is_enable is True: current_state = 'false' new_state = 'true' else: current_state = 'true' new_state = 'false' if gateway.get('distributedRoutingEnabled') == current_state: self.__enable_gateway_distributed_routing(client, gateway, is_enable) gateway = Environment.get_test_gateway(client) self.assertEqual( gateway.get('distributedRoutingEnabled'), new_state)
def __convert_enable_dr_in_gateway_using_sys_client(self, is_enable): client = TestNetwork._system_client gateway = Environment.get_test_gateway(client) if is_enable is True: current_state = 'false' new_state = 'true' else: current_state = 'true' new_state = 'false' if gateway.get('distributedRoutingEnabled') == current_state: self.__enable_gateway_distributed_routing(client, gateway, is_enable) gateway = Environment.get_test_gateway(client) self.assertEqual(gateway.get('distributedRoutingEnabled'), new_state)
def test_0000_setup(self): """Setup the gateway required for the other tests in this module. Create a gateway as per the configuration stated above. This test passes if the gateway is created successfully. """ TestGateway._client = Environment.get_sys_admin_client() TestGateway._vdc = Environment.get_test_vdc(TestGateway._client) TestGateway._org_client = Environment.get_client_in_default_org( CommonRoles.ORGANIZATION_ADMINISTRATOR) TestGateway._config = Environment.get_config() TestGateway._gateway = Environment.get_test_gateway( TestGateway._client) if TestGateway._gateway is not None: task = TestGateway._vdc.delete_gateway(self._name) result = TestGateway._client.get_task_monitor().wait_for_success( task=task) self.assertEqual(result.get('status'), TaskStatus.SUCCESS.value) external_network = Environment.get_test_external_network( TestGateway._client) ext_net_resource = external_network.get_resource() ip_scopes = ext_net_resource.xpath( 'vcloud:Configuration/vcloud:IpScopes/vcloud:IpScope', namespaces=NSMAP) first_ipscope = ip_scopes[0] gateway_ip = first_ipscope.Gateway.text prefix_len = netmask_to_cidr_prefix_len(gateway_ip, first_ipscope.Netmask.text) subnet_addr = gateway_ip + '/' + str(prefix_len) ext_net_to_participated_subnet_with_ip_settings = { ext_net_resource.get('name'): { subnet_addr: 'Auto' } } gateway_ip_arr = gateway_ip.split('.') last_ip_digit = int(gateway_ip_arr[-1]) + 1 gateway_ip_arr[-1] = str(last_ip_digit) next_ip = '.'.join(gateway_ip_arr) ext_net_to_subnet_with_ip_range = { ext_net_resource.get('name'): { subnet_addr: [next_ip + '-' + next_ip] } } ext_net_to_rate_limit = {ext_net_resource.get('name'): {100: 100}} TestGateway._gateway = TestGateway._vdc.create_gateway( self._name, [ext_net_resource.get('name')], 'compact', None, True, ext_net_resource.get('name'), gateway_ip, True, False, False, False, True, ext_net_to_participated_subnet_with_ip_settings, True, ext_net_to_subnet_with_ip_range, ext_net_to_rate_limit) result = TestGateway._client.get_task_monitor().wait_for_success( task=TestGateway._gateway.Tasks.Task) self.assertEqual(result.get('status'), TaskStatus.SUCCESS.value)
def test_0000_setup(self): TestCaCertificates._client = Environment.get_sys_admin_client() TestCaCertificates._config = Environment.get_config() TestCaCertificates._org = Environment.get_test_org( TestCaCertificates._client) test_gateway = Environment.get_test_gateway(TestCaCertificates._client) gateway_obj1 = Gateway(TestCaCertificates._client, GatewayConstants.name, href=test_gateway.get('href')) TestCaCertificates.gateway_obj = gateway_obj1 TestCaCertificates._runner = CliRunner() default_org = self._config['vcd']['default_org_name'] self._login() TestCaCertificates._runner.invoke(org, ['use', default_org])
def test_0000_setup(self): TestCertificates._client = Environment.get_sys_admin_client() TestCertificates._config = Environment.get_config() TestCertificates._org = Environment.get_test_org( TestCertificates._client) test_gateway = Environment.get_test_gateway(TestCertificates._client) gateway_obj1 = Gateway(TestCertificates._client, GatewayConstants.name, href=test_gateway.get('href')) TestCertificates.gateway_obj = gateway_obj1 TestCertificates._runner = CliRunner() default_org = self._config['vcd']['default_org_name'] self._login() TestCertificates._runner.invoke(org, ['use', default_org])
def test_0025_add_ca_certificate(self): """Add CA certificate in the gateway. Invokes the add_ca_certificate of the gateway. """ gateway = Environment.get_test_gateway(TestCertificates._client) gateway_obj1 = Gateway(TestCertificates._client, GatewayConstants.name, href=gateway.get('href')) TestCertificates._gateway1 = gateway_obj1 gateway_obj1.add_ca_certificate( ca_certificate_file_path=TestCertificates. _ca_certificate_file_path) gateway_obj1.reload() certificates = gateway_obj1.get_certificates() self.__validate_certificate(certificates)
def test_0000_setup(self): """Add one orgvdc, one gateways and one routed orgvdc networks. """ TestIpSecVpn._client = Environment.get_sys_admin_client() TestIpSecVpn._logger = Environment.get_default_logger() TestIpSecVpn._config = Environment.get_config() TestIpSecVpn._org = Environment.get_test_org(TestIpSecVpn._client) TestIpSecVpn._pvdc_name = Environment.get_test_pvdc_name() TestIpSecVpn._ext_config = TestIpSecVpn._config['external_network'] TestIpSecVpn._ext_net_name = TestIpSecVpn._ext_config['name'] # Create another vdc, gateway and routed network self.__create_ovdc() self.__create_advanced_gateway() self.__create_routed_ovdc_network() test_gateway = Environment.get_test_gateway(TestIpSecVpn._client) gateway_obj1 = Gateway(TestIpSecVpn._client, GatewayConstants.name, href=test_gateway.get('href')) gateway_obj2 = TestIpSecVpn._gateway_obj TestIpSecVpn._local_ip = self.__get_ip_address( gateway=gateway_obj1, ext_net_name=TestIpSecVpn._ext_net_name) TestIpSecVpn._peer_ip = self.__get_ip_address( gateway=gateway_obj2, ext_net_name=TestIpSecVpn._ext_net_name) TestIpSecVpn._runner = CliRunner() default_org = self._config['vcd']['default_org_name'] self._login() TestIpSecVpn._runner.invoke(org, ['use', default_org]) from vcd_cli.gateway import gateway result = TestIpSecVpn._runner.invoke( gateway, args=[ 'services', 'ipsec-vpn', 'create', TestIpSecVpn._name, '--name', TestIpSecVpn._ipsec_vpn_name, '--local-id', TestIpSecVpn._local_id, '--peer-id', TestIpSecVpn._peer_id, '--local-ip', TestIpSecVpn._local_ip, '--peer-ip', TestIpSecVpn._peer_ip, '--local-subnet', TestIpSecVpn._local_subnet, '--peer-subnet', TestIpSecVpn._peer_subnet, '--pre-shared-key', TestIpSecVpn._psk, '--enable' ]) self.assertEqual(0, result.exit_code)
def test_0026_add_dhcp_pool(self): """Add DHCP pool in the gateway. Invokes the add_dhcp_pool of the gateway. """ gateway_obj = Gateway( TestGateway._client, self._name, Environment.get_test_gateway( Environment.get_sys_admin_client()).get('href')) gateway_obj.add_dhcp_pool(TestGateway._pool_ip_range) dhcp_resource = gateway_obj.get_dhcp() # Verify matchFound = False for ipPool in dhcp_resource.ipPools.ipPool: if ipPool.ipRange.text == TestGateway._pool_ip_range: matchFound = True break self.assertTrue(matchFound)
def test_0100_add_dhcp_pool(self): """Add DHCP pool in the gateway. Invokes the add_dhcp_pool of the gateway. """ gateway_obj = Gateway( TestGateway._client, self._name, Environment.get_test_gateway(Environment.get_sys_admin_client()) .get('href')) gateway_obj.add_dhcp_pool(TestGateway._pool_ip_range) dhcp_resource = gateway_obj.get_dhcp() # Verify matchFound = False for ipPool in dhcp_resource.ipPools.ipPool: if ipPool.ipRange.text == TestGateway._pool_ip_range: matchFound = True break self.assertTrue(matchFound)
def test_0000_setup(self): """Add one orgvdc, one gateways and one routed orgvdc networks. """ TestIpSecVpn._client = Environment.get_sys_admin_client() TestIpSecVpn._logger = Environment.get_default_logger() TestIpSecVpn._config = Environment.get_config() TestIpSecVpn._org = Environment.get_test_org(TestIpSecVpn._client) TestIpSecVpn._pvdc_name = Environment.get_test_pvdc_name() TestIpSecVpn._ext_config = TestIpSecVpn._config['external_network'] TestIpSecVpn._ext_net_name = TestIpSecVpn._ext_config['name'] # Create another vdc, gateway and routed network self.__create_ovdc() self.__create_advanced_gateway() self.__create_routed_ovdc_network() test_gateway = Environment.get_test_gateway(TestIpSecVpn._client) gateway_obj1 = Gateway(TestIpSecVpn._client, GatewayConstants.name, href=test_gateway.get('href')) gateway_obj2 = TestIpSecVpn._gateway_obj TestIpSecVpn._local_ip = self.__get_ip_address( gateway=gateway_obj1, ext_net_name=TestIpSecVpn._ext_net_name) TestIpSecVpn._peer_ip = self.__get_ip_address( gateway=gateway_obj2, ext_net_name=TestIpSecVpn._ext_net_name) TestIpSecVpn._runner = CliRunner() default_org = self._config['vcd']['default_org_name'] self._login() TestIpSecVpn._runner.invoke(org, ['use', default_org]) result = TestIpSecVpn._runner.invoke( gateway, args=[ 'services', 'ipsec-vpn', 'create', TestIpSecVpn._name, '--name', TestIpSecVpn._ipsec_vpn_name, '--local-id', TestIpSecVpn._local_id, '--peer-id', TestIpSecVpn._peer_id, '--local-ip', TestIpSecVpn._local_ip, '--peer-ip', TestIpSecVpn._peer_ip, '--local-subnet', TestIpSecVpn._local_subnet, '--peer-subnet', TestIpSecVpn._peer_subnet, '--pre-shared-key', TestIpSecVpn._psk, '--enable']) self.assertEqual(0, result.exit_code)
def test_0027_add_dhcp_binding(self): """Add DHCP Binding in the gateway. Invokes the add_dhcp_binding of the gateway. """ gateway_obj = Gateway( TestGateway._client, self._name, Environment.get_test_gateway( Environment.get_sys_admin_client()).get('href')) gateway_obj.add_dhcp_binding(TestGateway._mac_address, TestGateway._host_name, TestGateway._binding_ip_address) dhcp_resource = gateway_obj.get_dhcp() # Verify matchFound = False for static_binding in dhcp_resource.staticBindings.staticBinding: if static_binding.macAddress.text == TestGateway._mac_address: matchFound = True break self.assertTrue(matchFound)
def test_0105_add_dhcp_binding(self): """Add DHCP Binding in the gateway. Invokes the add_dhcp_binding of the gateway. """ gateway_obj = Gateway( TestGateway._client, self._name, Environment.get_test_gateway(Environment.get_sys_admin_client()) .get('href')) gateway_obj.add_dhcp_binding(TestGateway._mac_address, TestGateway._host_name, TestGateway._binding_ip_address) dhcp_resource = gateway_obj.get_dhcp() # Verify matchFound = False for static_binding in dhcp_resource.staticBindings.staticBinding: if static_binding.macAddress.text == TestGateway._mac_address: matchFound = True break self.assertTrue(matchFound)