def test_subscription_list(self):
        client = cr.Subscriptions()
        with DumpResponse(clients=[client])('subscription_list'):
            client.get()

        with DumpResponse(clients=[client])('subscription_schema'):
            client.get_schema()
    def test_subscription_create(self):
        if os.environ.get('TURLO_MANUAL_TESTS', '0') == '0':
            raise unittest.SkipTest(
                "Subscriptions cannot be deleted by the user so this cannot be cleaned up. Use TURLO_MANUAL_TESTS=1 environment variable"
            )

        client = cr.Subscriptions()
        with DumpResponse(clients=[client])('subscription_create'):
            sub = client.create({
                "resource": "dssd",
                "amount": 1000 * 3 * 10,
                "period": "1 month"
            })
Example #3
0
    def test_server_nics(self):
        server = self._create_a_server()

        subs_client = cr.Subscriptions()

        vlan_client = cr.VLAN()
        vlans = vlan_client.list()
        if not vlans:
            subs_client.create({
                'resource': 'vlan',
                'amount': 1,
                'period': '1 month'
            })
            vlans = vlan_client.list()
        vlan_uuid = vlans[0]['uuid']

        ip_client = cr.IP()
        ips = ip_client.list()
        free_ips = [ip for ip in ips if ip['server'] is None]
        if not free_ips:
            subs_client.create({
                'resource': 'ip',
                'amount': 1,
                'period': '1 month'
            })
            ips = ip_client.list()
            free_ips = [ip for ip in ips if ip['server'] is None]

        ip_uuid = free_ips[0]['uuid']

        server['nics'] = [{'vlan': vlan_uuid}]

        with DumpResponse(clients=[self.client],
                          name='server_add_private_nic'):
            server = self.client.update(server['uuid'], server)

        server['nics'] = [{'ip_v4_conf': {'conf': 'dhcp'}, 'model': 'e1000'}]
        with DumpResponse(clients=[self.client], name='server_add_dhcp_nic'):
            server = self.client.update(server['uuid'], server)

        server['nics'] = [{
            'ip_v4_conf': {
                'conf': 'dhcp'
            },
            'model': 'e1000'
        }, {
            'vlan': vlan_uuid
        }]
        server = self.client.update(server['uuid'], server)
        with DumpResponse(clients=[self.client], name='server_get_two_nics'):
            server = self.client.get(server['uuid'])

        server['nics'][0]['ip_v4_conf'] = {'conf': 'static', 'ip': ip_uuid}
        with DumpResponse(clients=[self.client],
                          name='server_change_nic_to_static'):
            server = self.client.update(server['uuid'], server)

        server['nics'] = [server['nics'][1], server['nics'][0]]
        with DumpResponse(clients=[self.client], name='server_rearrange_nics'):
            server = self.client.update(server['uuid'], server)

        private_mac = server['nics'][0]['mac']
        server['nics'] = [{'ip_v4_conf': {'conf': 'dhcp'}, 'mac': private_mac}]
        with DumpResponse(clients=[self.client],
                          name='server_del_and_change_nic'):
            server = self.client.update(server['uuid'], server)

        server['nics'] = [{'ip_v4_conf': {'conf': 'manual'}}]
        with DumpResponse(clients=[self.client], name='server_add_manual_nic'):
            server = self.client.update(server['uuid'], server)

        self.client.delete(server['uuid'])