Esempio n. 1
0
  def test_attach_and_detach_storage(self, manager):
    data = Mock.mock_get('server/00798b85-efdc-41ca-8021-f6ef457b8531')
    server = manager.get_server('00798b85-efdc-41ca-8021-f6ef457b8531')
    assert len(server.storage_devices) == 1
    assert server.storage_devices[0].title == 'Storage for server1.example.com'

    data = Mock.mock_get('storage/01d4fcd4-e446-433b-8a9c-551a1284952e')
    storage = manager.get_storage('01d4fcd4-e446-433b-8a9c-551a1284952e')


    responses.add(
      responses.POST,
      Mock.base_url + '/server/00798b85-efdc-41ca-8021-f6ef457b8531/storage/attach',
      body = Mock.read_from_file('storage_attach.json'),
      status = 200,
      content_type='application/json'
    )
    server.add_storage(storage)
    assert len(server.storage_devices) == 2
    assert server.storage_devices[0].title == 'Storage for server1.example.com'
    assert server.storage_devices[1].title == 'Operating system disk'

    responses.add(
      responses.POST,
      Mock.base_url + '/server/00798b85-efdc-41ca-8021-f6ef457b8531/storage/detach',
      body = Mock.read_from_file('storage_attach.json'),
      status = 200,
      content_type='application/json'
    )

    server.remove_storage(server.storage_devices[1])

    assert len(server.storage_devices) == 1
    assert server.storage_devices[0].title == 'Storage for server1.example.com'
Esempio n. 2
0
    def test_add_firewall_rule(self, manager):
        Mock.mock_get('server/00798b85-efdc-41ca-8021-f6ef457b8531')
        server = manager.get_server('00798b85-efdc-41ca-8021-f6ef457b8531')

        responses.add_callback(
            responses.POST,
            Mock.base_url +
            '/server/00798b85-efdc-41ca-8021-f6ef457b8531/firewall_rule',
            content_type='application/json',
            callback=firewall_rule_callback)

        returned_firewall = server.add_firewall_rule(
            FirewallRule(position='1',
                         direction='in',
                         family='IPv4',
                         protocol='tcp',
                         source_address_start='192.168.1.1',
                         source_address_end='192.168.1.255',
                         destination_port_start='22',
                         destination_port_end='22',
                         action='accept'))

        # everything should run without errors, returned created object
        assert returned_firewall.position == '1'
        assert returned_firewall.direction == 'in'
        assert returned_firewall.source_address_end == '192.168.1.255'
    def test_add_firewall_rule(self, manager):
        Mock.mock_get('server/00798b85-efdc-41ca-8021-f6ef457b8531')
        server = manager.get_server('00798b85-efdc-41ca-8021-f6ef457b8531')

        responses.add_callback(
            responses.POST,
            Mock.base_url + '/server/00798b85-efdc-41ca-8021-f6ef457b8531/firewall_rule',
            content_type='application/json',
            callback=firewall_rule_callback
        )

        returned_firewall = server.add_firewall_rule(FirewallRule(
            position='1',
            direction='in',
            family='IPv4',
            protocol='tcp',
            source_address_start='192.168.1.1',
            source_address_end='192.168.1.255',
            destination_port_start='22',
            destination_port_end='22',
            action='accept'
        ))

        # everything should run without errors, returned created object
        assert returned_firewall.position == '1'
        assert returned_firewall.direction == 'in'
        assert returned_firewall.source_address_end == '192.168.1.255'
Esempio n. 4
0
    def test_get_tag(self, manager):
        Mock.mock_get('tag/TheTestTag')
        tag = manager.get_tag('TheTestTag')

        assert tag.name == 'TheTestTag'
        assert tag.description == 'Description of TheTestTag'
        assert len(tag.servers) == 2
        assert tag.servers[0].uuid == '0057e20a-6878-43a7-b2b3-530c4a4bdc55'
Esempio n. 5
0
  def test_get_populated_servers(self, manager):
    data = Mock.mock_get('server')
    data = Mock.mock_get('server/00798b85-efdc-41ca-8021-f6ef457b8531')
    data = Mock.mock_get('server/009d64ef-31d1-4684-a26b-c86c955cbf46')
    servers = manager.get_servers(populate=True)

    for server in servers:
      assert type(server).__name__ == 'Server'
Esempio n. 6
0
    def test_get_tags(self, manager):
        Mock.mock_get('tag')
        tags = manager.get_tags()

        assert len(tags) == 2
        assert tags[0].name == 'TheTestTag1'
        assert tags[1].name == 'TheTestTag2'
        assert tags[0].servers[0].uuid == '0057e20a-6878-43a7-b2b3-530c4a4bdc55'
Esempio n. 7
0
    def test_get_tag(self, manager):
        Mock.mock_get('tag/TheTestTag')
        tag = manager.get_tag('TheTestTag')

        assert tag.name == 'TheTestTag'
        assert tag.description == 'Description of TheTestTag'
        assert len(tag.servers) == 2
        assert tag.servers[0].uuid == '0057e20a-6878-43a7-b2b3-530c4a4bdc55'
    def test_list_and_get_firewall_rules(self, manager):
        Mock.mock_get('server/00798b85-efdc-41ca-8021-f6ef457b8531')
        server = manager.get_server('00798b85-efdc-41ca-8021-f6ef457b8531')

        target = 'server/00798b85-efdc-41ca-8021-f6ef457b8531/firewall_rule'
        Mock.mock_get(target, 'firewall_rules.json')
        firewall_rules = server.get_firewall_rules()

        assert firewall_rules[0].position == '1'
Esempio n. 9
0
    def test_list_and_get_firewall_rules(self, manager):
        Mock.mock_get('server/00798b85-efdc-41ca-8021-f6ef457b8531')
        server = manager.get_server('00798b85-efdc-41ca-8021-f6ef457b8531')

        target = 'server/00798b85-efdc-41ca-8021-f6ef457b8531/firewall_rule'
        Mock.mock_get(target, 'firewall_rules.json')
        firewall_rules = server.get_firewall_rules()

        assert firewall_rules[0].position == '1'
    def test_remove_firewall_rule(self, manager):
        Mock.mock_get('server/00798b85-efdc-41ca-8021-f6ef457b8531')
        server = manager.get_server('00798b85-efdc-41ca-8021-f6ef457b8531')

        target = 'server/00798b85-efdc-41ca-8021-f6ef457b8531/firewall_rule'
        Mock.mock_get(target, 'firewall_rules.json')
        firewall_rules = server.get_firewall_rules()

        Mock.mock_delete('server/00798b85-efdc-41ca-8021-f6ef457b8531/firewall_rule/1')
        res = firewall_rules[0].destroy()

        Mock.mock_delete('server/00798b85-efdc-41ca-8021-f6ef457b8531/firewall_rule/1')
        res = server.remove_firewall_rule(firewall_rules[0])

        assert res == {}
	def test_get_account(self, manager):
		data = Mock.mock_get("account")
		
		res = manager.authenticate()
		assert json.loads(data) == res
		res = manager.get_account()
		assert json.loads(data) == res
Esempio n. 12
0
    def test_get_account(self, manager):
        data = Mock.mock_get("account")

        res = manager.authenticate()
        assert json.loads(data) == res
        res = manager.get_account()
        assert json.loads(data) == res
Esempio n. 13
0
    def test_get_ip(self, manager):
        data = Mock.mock_get('ip_address/10.1.0.101')
        ip_addr = manager.get_IP('10.1.0.101')

        assert type(ip_addr).__name__ == 'IP_address'
        assert ip_addr.address == '10.1.0.101'
        assert ip_addr.ptr == 'a.ptr.record'
Esempio n. 14
0
	def test_get_ip(self, manager):
		data = Mock.mock_get("ip_address/10.1.0.101")
		ip_addr = manager.get_IP("10.1.0.101")

		assert type(ip_addr).__name__ == "IP_address"
		assert ip_addr.address == "10.1.0.101"
		assert ip_addr.ptr == "a.ptr.record"
Esempio n. 15
0
    def test_get_router(self, manager):
        data = Mock.mock_get('router/03b34bc2-5adf-4fc4-8c44-83f869058f5a')
        router = manager.get_router('03b34bc2-5adf-4fc4-8c44-83f869058f5a')

        assert type(router).__name__ == "Router"
        assert router.type == "normal"
        assert router.name == "test router"
Esempio n. 16
0
 def test_get_storage_import_details(self, manager):
     data = Mock.mock_get(
         "storage/01d4fcd4-e446-433b-8a9c-551a1284952e/import")
     storage_import = manager.get_storage_import_details(
         "01d4fcd4-e446-433b-8a9c-551a1284952e")
     assert storage_import.state == "pending"
     assert storage_import.uuid == "07a6c9a3-300e-4d0e-b935-624f3dbdff3f"
Esempio n. 17
0
  def test_update_server_non_updateable_fields(self, manager):
    data = Mock.mock_get('server/00798b85-efdc-41ca-8021-f6ef457b8531')
    server = manager.get_server('00798b85-efdc-41ca-8021-f6ef457b8531')

    with pytest.raises(Exception) as excinfo:
      server.state = 'rekt'
    assert "'state' is a readonly field" in str(excinfo.value)
Esempio n. 18
0
    def test_edit_tag(self, manager):

        Mock.mock_get('tag/TheTestTag')
        tag = manager.get_tag('TheTestTag')

        responses.add_callback(responses.PUT,
                               Mock.base_url + '/tag/TheTestTag',
                               content_type='application/json',
                               callback=tag_post_callback)

        tag.name = 'AnotherTestTag'
        assert tag._api_name == 'TheTestTag'

        tag.save()

        assert tag.name == 'AnotherTestTag'
        assert tag._api_name == 'AnotherTestTag'
    def test_storage_update_oop(self, manager):
        data = Mock.mock_get("storage/01d4fcd4-e446-433b-8a9c-551a1284952e")
        storage = manager.get_storage("01d4fcd4-e446-433b-8a9c-551a1284952e")

        Mock.mock_put("storage/01d4fcd4-e446-433b-8a9c-551a1284952e")
        storage.update(title="my bigger data collection", size=15)
        assert storage.title == "my bigger data collection"
        assert storage.size == 15
Esempio n. 20
0
    def test_get_network(self, manager):
        data = Mock.mock_get('network/03000000-0000-4000-8001-000000000000')
        network = manager.get_network('03000000-0000-4000-8001-000000000000')

        assert type(network).__name__ == "Network"
        assert network.uuid == '03000000-0000-4000-8001-000000000000'
        assert network.type == 'public'
        assert network.zone == 'fi-hel1'
Esempio n. 21
0
    def test_remove_firewall_rule(self, manager):
        Mock.mock_get('server/00798b85-efdc-41ca-8021-f6ef457b8531')
        server = manager.get_server('00798b85-efdc-41ca-8021-f6ef457b8531')

        target = 'server/00798b85-efdc-41ca-8021-f6ef457b8531/firewall_rule'
        Mock.mock_get(target, 'firewall_rules.json')
        firewall_rules = server.get_firewall_rules()

        Mock.mock_delete(
            'server/00798b85-efdc-41ca-8021-f6ef457b8531/firewall_rule/1')
        res = firewall_rules[0].destroy()

        Mock.mock_delete(
            'server/00798b85-efdc-41ca-8021-f6ef457b8531/firewall_rule/1')
        res = server.remove_firewall_rule(firewall_rules[0])

        assert res == {}
Esempio n. 22
0
    def test_storage_update_oop(self, manager):
        data = Mock.mock_get("storage/01d4fcd4-e446-433b-8a9c-551a1284952e")
        storage = manager.get_storage("01d4fcd4-e446-433b-8a9c-551a1284952e")

        Mock.mock_put("storage/01d4fcd4-e446-433b-8a9c-551a1284952e")
        storage.update(title="my bigger data collection", size=15)
        assert storage.title == "my bigger data collection"
        assert storage.size == 15
Esempio n. 23
0
    def test_get_server_networks(self, manager):
        data = Mock.mock_get(
            'server/0082c083-9847-4f9f-ae04-811251309b35/networking')
        networks = manager.get_server_networks(
            '0082c083-9847-4f9f-ae04-811251309b35')

        for network in networks:
            assert type(network).__name__ == "Interface"
Esempio n. 24
0
    def test_templatize_storage(self, manager):
        data = Mock.mock_get("storage/01d4fcd4-e446-433b-8a9c-551a1284952e")
        storage = manager.get_storage("01d4fcd4-e446-433b-8a9c-551a1284952e")

        data = Mock.mock_post(
            "storage/01d4fcd4-e446-433b-8a9c-551a1284952e/templatize")
        storage_template = storage.templatize("my server template")
        assert storage_template.title == "my server template"
        assert storage_template.type == "template"
Esempio n. 25
0
	def test_restart_server(self, manager):
		data = Mock.mock_get("server/00798b85-efdc-41ca-8021-f6ef457b8531")
		server = manager.get_server("00798b85-efdc-41ca-8021-f6ef457b8531")

		assert server.state == "started"
		
		data = Mock.mock_server_operation("server/00798b85-efdc-41ca-8021-f6ef457b8531/restart")
		server.restart()

		assert server.state == "maintenance"
Esempio n. 26
0
    def test_create_storage_backup(self, manager):
        data = Mock.mock_get("storage/01d4fcd4-e446-433b-8a9c-551a1284952e")
        storage = manager.get_storage("01d4fcd4-e446-433b-8a9c-551a1284952e")

        data = Mock.mock_post(
            "storage/01d4fcd4-e446-433b-8a9c-551a1284952e/backup")
        storage_backup = storage.create_backup("test-backup")
        assert storage_backup.title == "test-backup"
        assert storage_backup.size == 666
        assert storage_backup.zone == "fi-hel1"
Esempio n. 27
0
    def test_edit_tag(self, manager):

        Mock.mock_get('tag/TheTestTag')
        tag = manager.get_tag('TheTestTag')

        responses.add_callback(
            responses.PUT,
            Mock.base_url + '/tag/TheTestTag',
            content_type='application/json',
            callback=tag_post_callback
        )

        tag.name = 'AnotherTestTag'
        assert tag._api_name == 'TheTestTag'

        tag.save()

        assert tag.name == 'AnotherTestTag'
        assert tag._api_name == 'AnotherTestTag'
Esempio n. 28
0
    def test_restore_storage_backup(self, manager):
        data = Mock.mock_get("storage/01350eec-6ebf-4418-abe4-e8bb1d5c9643")
        storage_backup = manager.get_storage(
            "01350eec-6ebf-4418-abe4-e8bb1d5c9643")

        data = Mock.mock_post(
            "storage/01350eec-6ebf-4418-abe4-e8bb1d5c9643/restore",
            empty_content=True)
        res = storage_backup.restore_backup()
        assert res == {}
Esempio n. 29
0
	def test_start_server(self, manager):
		data = Mock.mock_get("server/009d64ef-31d1-4684-a26b-c86c955cbf46")
		server = manager.get_server("009d64ef-31d1-4684-a26b-c86c955cbf46")

		assert server.state == "stopped"
		
		data = Mock.mock_server_operation("server/009d64ef-31d1-4684-a26b-c86c955cbf46/start")
		server.start()

		assert server.state == "started"
Esempio n. 30
0
  def test_start_server(self, manager):
    data = Mock.mock_get('server/009d64ef-31d1-4684-a26b-c86c955cbf46')
    server = manager.get_server('009d64ef-31d1-4684-a26b-c86c955cbf46')

    assert server.state == 'stopped'

    data = Mock.mock_server_operation('server/009d64ef-31d1-4684-a26b-c86c955cbf46/start')
    server.start()

    assert server.state == 'started'
Esempio n. 31
0
  def test_restart_server(self, manager):
    data = Mock.mock_get('server/00798b85-efdc-41ca-8021-f6ef457b8531')
    server = manager.get_server('00798b85-efdc-41ca-8021-f6ef457b8531')

    assert server.state == 'started'

    data = Mock.mock_server_operation('server/00798b85-efdc-41ca-8021-f6ef457b8531/restart')
    server.restart()

    assert server.state == 'maintenance'
Esempio n. 32
0
    def test_restart_server(self, manager):
        data = Mock.mock_get("server/00798b85-efdc-41ca-8021-f6ef457b8531")
        server = manager.get_server("00798b85-efdc-41ca-8021-f6ef457b8531")

        assert server.state == "started"

        data = Mock.mock_server_operation(
            "server/00798b85-efdc-41ca-8021-f6ef457b8531/restart")
        server.restart()

        assert server.state == "maintenance"
Esempio n. 33
0
    def test_clone_storage(self, manager):
        data = Mock.mock_get("storage/01d4fcd4-e446-433b-8a9c-551a1284952e")
        storage = manager.get_storage("01d4fcd4-e446-433b-8a9c-551a1284952e")

        Mock.mock_post("storage/01d4fcd4-e446-433b-8a9c-551a1284952e/clone")
        cloned_storage = storage.clone('cloned-storage-test', 'fi-hel1')
        assert type(cloned_storage).__name__ == "Storage"
        assert cloned_storage.size == 666
        assert cloned_storage.tier == "maxiops"
        assert cloned_storage.title == "cloned-storage-test"
        assert cloned_storage.zone == "fi-hel1"
Esempio n. 34
0
    def test_get_object_storage_network_statistics(self, manager):
        data = Mock.mock_get(
            'object-storage/06b0e4fc-d74b-455e-a373-60cd6ca84022/stats/network/',
            response_file=
            'object-storage_06b0e4fc-d74b-455e-a373-60cd6ca84022_stats_network.json'
        )
        res = manager.get_object_storage_network_statistics(
            '06b0e4fc-d74b-455e-a373-60cd6ca84022', '2020-11-03 00:00:00')

        assert 'stats' in res
        assert len(res.get('stats').get('stat')) == 3
Esempio n. 35
0
    def test_get_object_storage(self, manager):
        data = Mock.mock_get(
            'object-storage/06b0e4fc-d74b-455e-a373-60cd6ca84022')
        object_storage = manager.get_object_storage(
            '06b0e4fc-d74b-455e-a373-60cd6ca84022')

        assert type(object_storage).__name__ == 'ObjectStorage'
        assert object_storage.name == 'pyapi-test3'
        assert object_storage.description == 'test for python api'
        assert object_storage.zone == 'fi-hel2'
        assert object_storage.size == 250
Esempio n. 36
0
    def test_modify_ip_oop(self, manager):
        # get ip
        data = Mock.mock_get('ip_address/10.1.0.101')
        ip_addr = manager.get_IP('10.1.0.101')

        # put ip
        data = Mock.mock_put('ip_address/10.1.0.101')
        ip_addr.ptr = 'my.ptr.record'
        ip_addr.save()

        assert ip_addr.ptr == 'my.ptr.record'
Esempio n. 37
0
    def test_start_server(self, manager):
        data = Mock.mock_get("server/009d64ef-31d1-4684-a26b-c86c955cbf46")
        server = manager.get_server("009d64ef-31d1-4684-a26b-c86c955cbf46")

        assert server.state == "stopped"

        data = Mock.mock_server_operation(
            "server/009d64ef-31d1-4684-a26b-c86c955cbf46/start")
        server.start()

        assert server.state == "started"
Esempio n. 38
0
	def test_modify_ip_oop(self, manager):
		# get ip
		data = Mock.mock_get("ip_address/10.1.0.101")
		ip_addr = manager.get_IP("10.1.0.101")

		# put ip
		data = Mock.mock_put("ip_address/10.1.0.101")
		ip_addr.ptr = "my.ptr.record"
		ip_addr.save()

		assert ip_addr.ptr == "my.ptr.record"
Esempio n. 39
0
  def test_attach_and_detach_IP(self, manager):
    data = Mock.mock_get('server/00798b85-efdc-41ca-8021-f6ef457b8531')
    server = manager.get_server('00798b85-efdc-41ca-8021-f6ef457b8531')
    assert len(server.ip_addresses) == 2

    data = Mock.mock_post('ip_address')
    server.add_IP()
    assert len(server.ip_addresses) == 3

    Mock.mock_delete('ip_address/'+server.ip_addresses[2].address)
    server.remove_IP(server.ip_addresses[2])
    assert len(server.ip_addresses) == 2
Esempio n. 40
0
  def test_update_server_oop(self, manager):
    data = Mock.mock_get('server/00798b85-efdc-41ca-8021-f6ef457b8531')
    server = manager.get_server('00798b85-efdc-41ca-8021-f6ef457b8531')

    server.core_number = 6
    server.memory_amount = 1024
    server.title = 'Updated server'

    data = Mock.mock_put('server/00798b85-efdc-41ca-8021-f6ef457b8531')
    server.save()

    assert server.core_number == 6
    assert server.memory_amount == 1024
    assert server.title == 'Updated server'
Esempio n. 41
0
    def test_assign_tags_to_server(self, manager):
        data = Mock.mock_get('server/00798b85-efdc-41ca-8021-f6ef457b8531')
        server = manager.get_server('00798b85-efdc-41ca-8021-f6ef457b8531')

        responses.add(
            responses.POST,
            Mock.base_url + '/server/00798b85-efdc-41ca-8021-f6ef457b8531/tag/tag1,tag2',
            body=json.dumps({'foo': 'bar'}),
            content_type='application/json',
            status=200
        )
        server.add_tags(['tag1', Tag('tag2')])

        for tag in ['web1', 'tag1', 'tag2']:
            assert tag in server.tags
	def test_get_prices(self, manager):
		data = Mock.mock_get("price")

		res = manager.get_prices()
		assert json.loads(data) == res
    def test_get_storage(self, manager):
        data = Mock.mock_get("storage/01d4fcd4-e446-433b-8a9c-551a1284952e")
        storage = manager.get_storage("01d4fcd4-e446-433b-8a9c-551a1284952e")

        assert type(storage).__name__ == "Storage"
        assert storage.uuid == "01d4fcd4-e446-433b-8a9c-551a1284952e"
    def test_get_storages(self, manager):
        data = Mock.mock_get("storage/public")
        storages = manager.get_storages("public")

        for storage in storages:
            assert type(storage).__name__ == "Storage"
Esempio n. 45
0
  def test_get_unpopulated_servers(self, manager):
    data = Mock.mock_get('server')
    servers = manager.get_servers()

    for server in servers:
      assert type(server).__name__ == 'Server'
	def test_get_timezones(self, manager):
		data = Mock.mock_get("timezone")

		res = manager.get_timezones()
		assert json.loads(data) == res
    def test_get_ips(self, manager):
        data = Mock.mock_get('ip_address')
        ip_addrs = manager.get_IPs()

        for ip_addr in ip_addrs:
            assert type(ip_addr).__name__ == 'IP_address'
 def test_storage_delete_oop(self, manager):
     data = Mock.mock_get("storage/01d4fcd4-e446-433b-8a9c-551a1284952e")
     storage = manager.get_storage("01d4fcd4-e446-433b-8a9c-551a1284952e")
     Mock.mock_delete("storage/01d4fcd4-e446-433b-8a9c-551a1284952e")
     storage.destroy()
Esempio n. 49
0
  def test_get_server(self, manager):
    data = Mock.mock_get('server/00798b85-efdc-41ca-8021-f6ef457b8531')
    server = manager.get_server('00798b85-efdc-41ca-8021-f6ef457b8531')

    assert type(server).__name__ == 'Server'
    assert server.uuid == '00798b85-efdc-41ca-8021-f6ef457b8531'