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'
Exemple #2
0
	def test_storage_update(self, manager):
		
		Mock.mock_put("storage/01d4fcd4-e446-433b-8a9c-551a1284952e")
		storage = manager.modify_storage("01d4fcd4-e446-433b-8a9c-551a1284952e", title="my bigger data collection", size=15)
		assert type(storage).__name__ == "Storage"
		assert storage.size == 15
		assert storage.title == "my bigger data collection"
    def test_storage_update(self, manager):

        Mock.mock_put("storage/01d4fcd4-e446-433b-8a9c-551a1284952e")
        storage = manager.modify_storage("01d4fcd4-e446-433b-8a9c-551a1284952e", title="my bigger data collection", size=15)
        assert type(storage).__name__ == "Storage"
        assert storage.size == 15
        assert storage.title == "my bigger data collection"
Exemple #4
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'
Exemple #5
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'
Exemple #6
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_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'
Exemple #8
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'
    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
 def test_storage_create(self, manager):
     Mock.mock_post("storage")
     storage = manager.create_storage(666, "maxiops", "My data collection", "fi-hel1")
     assert type(storage).__name__ == "Storage"
     assert storage.size == 666
     assert storage.tier == "maxiops"
     assert storage.title == "My data collection"
     assert storage.zone == "fi-hel1"
Exemple #11
0
	def test_storage_create(self, manager):
		Mock.mock_post("storage")
		storage = manager.create_storage(666, "maxiops", "My data collection", "fi-hel1")
		assert type(storage).__name__ == "Storage"
		assert storage.size == 666
		assert storage.tier == "maxiops"
		assert storage.title == "My data collection"
		assert storage.zone == "fi-hel1"
Exemple #12
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'
    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
Exemple #14
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"
    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'
Exemple #16
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'
Exemple #17
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"
Exemple #18
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'
Exemple #19
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 == {}
Exemple #20
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'
	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"
	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"
Exemple #23
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"
    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"
    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"
Exemple #26
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"
Exemple #27
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'
Exemple #28
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
Exemple #29
0
    def test_cancel_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 = manager.clone_storage(storage, 'cloned-storage-test',
                                               'fi-hel1')

        Mock.mock_post("storage/01d3e9ad-8ff5-4a52-9fa2-48938e488e78/cancel",
                       empty_content=True)
        res = cloned_storage.cancel_cloning()
        assert res == {}
Exemple #30
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'
Exemple #31
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"
	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
Exemple #33
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'
Exemple #34
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"
Exemple #35
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)
Exemple #36
0
    def test_create_server_with_dict(self, manager):
        responses.add(
            responses.POST,
            Mock.base_url + '/server',
            body=Mock.read_from_file('server_create.json'),
            status=202,
            content_type='application/json'
        )

        server1 = {
            'core_number': 2,
            'memory_amount': 1024,
            'hostname': 'my.example.com',
            'zone': 'us-chi1',
            'storage_devices': [
                {'os': '01000000-0000-4000-8000-000030200200', 'size': 10},
                {'size': 100, 'title': 'storage disk 1'},
            ]
        }

        server1 = manager.create_server(server1)

        # assert correct values in response
        assert type(server1).__name__ == 'Server'
        assert server1.core_number == '2'
        assert server1.memory_amount == '1024'

        # assert ips and storages have correct types
        assert type(server1.storage_devices[0]).__name__ == 'Storage'
        assert type(server1.ip_addresses[0]).__name__ == 'IPAddress'

        # assert new data was populated
        assert server1.video_model == 'cirrus'
        assert server1.vnc == 'off'
        assert server1.vnc_password == 'aabbccdd'
    def test_create_server(self, manager):

        responses.add(responses.POST,
                      Mock.base_url + '/server',
                      body=Mock.read_from_file('server_create.json'),
                      status=202,
                      content_type='application/json')

        server1 = Server(core_number=2,
                         memory_amount=1024,
                         hostname='my.example.com',
                         zone=ZONE.Chicago,
                         storage_devices=[
                             Storage(os='Ubuntu 20.04', size=10),
                             Storage(size=100, title='storage disk 1')
                         ])

        manager.create_server(server1)

        # assert correct values in response
        assert type(server1).__name__ == 'Server'
        assert server1.core_number == '2'
        assert server1.memory_amount == '1024'

        # assert ips and storages have correct types
        assert type(server1.storage_devices[0]).__name__ == 'Storage'
        assert type(server1.ip_addresses[0]).__name__ == 'IPAddress'

        # assert new data was populated
        assert server1.video_model == 'cirrus'
        assert server1.vnc == 'off'
        assert server1.vnc_password == 'aabbccdd'
	def test_create_server(self, manager):
		
		responses.add(
			responses.POST, 
			Mock.base_url + "/server",
			body = Mock.read_from_file("server_create.json"),
			status = 202,
			content_type='application/json'
		)

		server1 = Server(core_number=2, memory_amount=1024, hostname="my.example.com",zone=ZONE.Chicago, storage_devices=[
				Storage(os="Ubuntu 14.04", size=10),
				Storage(size=100, title="storage disk 1")
			])

		manager.create_server(server1)
		
		# assert correct values in response
		assert type(server1).__name__ == "Server"
		assert server1.core_number == "2"
		assert server1.memory_amount == "1024"

		# assert new data was populated
		assert server1.video_model ==  "cirrus"
		assert server1.vnc ==  "off"
		assert server1.vnc_password ==  "aabbccdd"
Exemple #39
0
    def test_delete_object_storage(self, manager):
        data = Mock.mock_delete(
            'object-storage/0608edc4-d4a3-4b01-abe4-e147bd7ffe45')
        res = manager.delete_object_storage(
            '0608edc4-d4a3-4b01-abe4-e147bd7ffe45')

        assert res == {}
    def test_create_server_with_dict(self, manager):
        responses.add(
            responses.POST,
            Mock.base_url + '/server',
            body=Mock.read_from_file('server_create.json'),
            status=202,
            content_type='application/json'
        )

        server1 = {
            'core_number': 2,
            'memory_amount': 1024,
            'hostname': 'my.example.com',
            'zone': ZONE.Chicago,
            'storage_devices': [
                {'os': 'Ubuntu 14.04', 'size': 10},
                {'size': 100, 'title': 'storage disk 1'},
            ]
        }

        server1 = manager.create_server(server1)

        # assert correct values in response
        assert type(server1).__name__ == 'Server'
        assert server1.core_number == '2'
        assert server1.memory_amount == '1024'

        # assert ips and storages have correct types
        assert type(server1.storage_devices[0]).__name__ == 'Storage'
        assert type(server1.ip_addresses[0]).__name__ == 'IP_address'

        # assert new data was populated
        assert server1.video_model == 'cirrus'
        assert server1.vnc == 'off'
        assert server1.vnc_password == 'aabbccdd'
    def test_create_server(self, manager):

        responses.add(responses.POST,
                      Mock.base_url + "/server",
                      body=Mock.read_from_file("server_create.json"),
                      status=202,
                      content_type='application/json')

        server1 = Server(core_number=2,
                         memory_amount=1024,
                         hostname="my.example.com",
                         zone=ZONE.Chicago,
                         storage_devices=[
                             Storage(os="Ubuntu 14.04", size=10),
                             Storage(size=100, title="storage disk 1")
                         ])

        manager.create_server(server1)

        # assert correct values in response
        assert type(server1).__name__ == "Server"
        assert server1.core_number == "2"
        assert server1.memory_amount == "1024"

        # assert new data was populated
        assert server1.video_model == "cirrus"
        assert server1.vnc == "off"
        assert server1.vnc_password == "aabbccdd"
    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_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_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_create_server(self, manager):

        responses.add(
            responses.POST,
            Mock.base_url + '/server',
            body=Mock.read_from_file('server_create.json'),
            status=202,
            content_type='application/json'
        )

        server1 = Server(
            core_number=2,
            memory_amount=1024,
            hostname='my.example.com',
            zone=ZONE.Chicago,
            storage_devices=[
                Storage(os='Ubuntu 14.04', size=10),
                Storage(size=100, title='storage disk 1')
            ]
        )

        manager.create_server(server1)

        # assert correct values in response
        assert type(server1).__name__ == 'Server'
        assert server1.core_number == '2'
        assert server1.memory_amount == '1024'

        # assert ips and storages have correct types
        assert type(server1.storage_devices[0]).__name__ == 'Storage'
        assert type(server1.ip_addresses[0]).__name__ == 'IP_address'

        # assert new data was populated
        assert server1.video_model == 'cirrus'
        assert server1.vnc == 'off'
        assert server1.vnc_password == 'aabbccdd'
    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_modify_ip(self, manager):
     data = Mock.mock_put('ip_address/10.1.0.101')
     ip_addr = manager.modify_IP('10.1.0.101', ptr_record='my.ptr.record')
     assert ip_addr.ptr == 'my.ptr.record'
 def test_ip_delete(self, manager):
     Mock.mock_delete('ip_address/10.1.0.101')
     res = manager.release_IP('10.1.0.101')
     assert res == {}