def test_create_server_security_link(self, mock_tenant, mock_req):
        tenant_id = fakes_nova.tenants["baz"]["id"]
        server_id = uuid.uuid4().hex
        sg_id = "baz"
        mock_tenant.return_value = tenant_id
        sc_group = fakes_nova.security_groups[tenant_id][0]
        resp_get = fakes_network.create_fake_json_resp(
            {"security_group": sc_group}, 200
        )
        req_mock_get = mock.MagicMock()
        req_mock_get.get_response.return_value = resp_get
        resp_create = fakes_network.create_fake_json_resp(
            {}, 204
        )
        req_mock_cre = mock.MagicMock()
        req_mock_cre.get_response.return_value = resp_create
        mock_req.side_effect = [req_mock_get, req_mock_cre]
        ret = self.helper.create_server_security_link(None,
                                                      server_id,
                                                      sg_id)
        self.assertEqual([], ret)
        sg_name = sc_group["name"]
        mock_req.assert_called_with(
            None, method="POST",
            path="/%s/servers/%s/action" % (tenant_id,
                                            server_id),
            body='{"addSecurityGroup": {"name": "%s"}}' % sg_name,
            content_type='application/json'

        )
Exemple #2
0
 def test_create_security_group(self, m_t, m_rq):
     tenant_id = fakes_nova.tenants["baz"]["id"]
     m_t.return_value = tenant_id
     sc_group = fakes_nova.security_groups[tenant_id][0]
     occi_os_group = os_helpers.build_security_group_from_nova(
         fakes_nova.security_groups[tenant_id])[0]
     resp = fakes_network.create_fake_json_resp(
         {"security_group": sc_group}, 200)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     resp_rule1 = fakes_network.create_fake_json_resp(
         {"security_group_rule": sc_group['rules'][0]}, 200)
     req_mock_rule1 = mock.MagicMock()
     req_mock_rule1.get_response.return_value = resp_rule1
     resp_rule2 = fakes_network.create_fake_json_resp(
         {"security_group_rule": sc_group['rules'][1]}, 200)
     req_mock_rule2 = mock.MagicMock()
     req_mock_rule2.get_response.return_value = resp_rule2
     m_rq.side_effect = [req_mock, req_mock_rule1, req_mock_rule2]
     ret = self.helper.create_security_group(
         None,
         name=occi_os_group['title'],
         description=occi_os_group['summary'],
         rules=occi_os_group['rules'])
     cont = 0
     for r in ret["rules"]:
         self.assertEqual(occi_os_group['rules'][cont]['protocol'],
                          r["protocol"])
         self.assertEqual(occi_os_group['rules'][cont]['range'], r["range"])
         self.assertEqual(occi_os_group['rules'][cont]['port'], r["port"])
         self.assertEqual(occi_os_group['rules'][cont]['type'], r["type"])
         cont += 1
 def test_list_networks(self, m_t, m_rq):
     id = uuid.uuid4().hex
     tenant_id = uuid.uuid4().hex
     m_t.return_value = tenant_id
     resp = fakes_network.create_fake_json_resp(
         {"networks": [{"id": id}]}, 200)
     resp_float = fakes_network.create_fake_json_resp(
         {"floating_ip_pools": [{"id": id}]}, 200
     )
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     req_mock_float = mock.MagicMock()
     req_mock_float.get_response.return_value = resp_float
     m_rq.side_effect = [req_mock, req_mock_float]
     ret = self.helper.list_networks(None)
     self.assertEqual(id, ret[0]['id'])
     self.assertEqual(
         {'method': 'GET',
          'path': '/%s/os-networks' % (tenant_id)},
         m_rq.call_args_list[0][1]
     )
     self.assertEqual(
         {'method': 'GET',
          'path': '/%s/os-floating-ip-pools' % (tenant_id)},
         m_rq.call_args_list[1][1]
     )
Exemple #4
0
 def test_list_networks(self, m_t, m_rq):
     id = uuid.uuid4().hex
     tenant_id = uuid.uuid4().hex
     m_t.return_value = tenant_id
     resp = fakes.create_fake_json_resp({"networks": [{"id": id}]}, 200)
     resp_float = fakes.create_fake_json_resp(
         {"floating_ip_pools": [{
             "id": id
         }]}, 200)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     req_mock_float = mock.MagicMock()
     req_mock_float.get_response.return_value = resp_float
     m_rq.side_effect = [req_mock, req_mock_float]
     ret = self.helper.list_networks(None)
     self.assertEqual(id, ret[0]['id'])
     self.assertEqual(
         {
             'method': 'GET',
             'path': '/%s/os-networks' % (tenant_id)
         }, m_rq.call_args_list[0][1])
     self.assertEqual(
         {
             'method': 'GET',
             'path': '/%s/os-floating-ip-pools' % (tenant_id)
         }, m_rq.call_args_list[1][1])
    def test_create(self, m):
        tenant = fakes.tenants["foo"]
        net_out = fakes.create_fake_json_resp(
            {"network": fakes.networks[tenant['id']][0]}, 200)
        mock_net = mock.Mock(webob.Request)
        mock_net.get_response.return_value = net_out
        subnet_out = fakes.create_fake_json_resp(
            {"subnet": fakes.networks[tenant['id']][0]["subnet_info"]},
            200)
        mock_subnet = mock.Mock(webob.Request)
        mock_subnet.get_response.return_value = subnet_out
        public_out = fakes.create_fake_json_resp(
            {"networks": fakes.networks[tenant['id']]},
            200)

        mock_public = mock.Mock(webob.Request)
        mock_public.get_response.return_value = public_out
        router_out = fakes.create_fake_json_resp(
            {"router": {"id": uuid.uuid4().hex}},
            200)
        mock_router = mock.Mock(webob.Request)
        mock_router.get_response.return_value = router_out
        mock_iface = mock.Mock(webob.Request)
        mock_iface.get_response.return_value = fakes.create_fake_json_resp(
            {"foo": "foo"}, 200)
        m.side_effect = [mock_net, mock_subnet, mock_public,
                         mock_router, mock_iface
                         ]
        name = fakes.networks[tenant["id"]][0]["name"]
        net_id = fakes.networks[tenant["id"]][0]["id"]
        address = fakes.networks[tenant["id"]][0]["subnet_info"]["cidr"]
        headers = {
            'Category': 'network;'
                        ' scheme='
                        '"http://schemas.ogf.org/occi/infrastructure#";'
                        'class="kind",'
                        'ipnetwork;'
                        ' scheme='
                        '"http://schemas.ogf.org/occi/infrastructure/'
                        'network#";'
                        'class="mixin",',
            'X-OCCI-Attribute': '"occi.core.title"="%s",'
                                '"occi.network.address"="%s"' %
                                (name, address)
        }
        req = self._build_req(path="/network",
                              tenant_id='X',
                              method="POST",
                              headers=headers)

        m.return_value = fakes.networks[tenant['id']][0]
        resp = req.get_response(self.app)
        self.assertEqual(200, resp.status_code)
        expected = [("X-OCCI-Location",
                     utils.join_url(self.application_url + "/",
                                    "network/%s" % net_id))]
        self.assertExpectedResult(expected, resp)
    def test_create(self, m):
        tenant = fakes.tenants["foo"]
        net_out = fakes.create_fake_json_resp(
            {"network": fakes.networks[tenant['id']][0]}, 200)
        mock_net = mock.Mock(webob.Request)
        mock_net.get_response.return_value = net_out
        subnet_out = fakes.create_fake_json_resp(
            {"subnet": fakes.networks[tenant['id']][0]["subnet_info"]}, 200)
        mock_subnet = mock.Mock(webob.Request)
        mock_subnet.get_response.return_value = subnet_out
        public_out = fakes.create_fake_json_resp(
            {"networks": fakes.networks[tenant['id']]}, 200)

        mock_public = mock.Mock(webob.Request)
        mock_public.get_response.return_value = public_out
        router_out = fakes.create_fake_json_resp(
            {"router": {
                "id": uuid.uuid4().hex
            }}, 200)
        mock_router = mock.Mock(webob.Request)
        mock_router.get_response.return_value = router_out
        mock_iface = mock.Mock(webob.Request)
        mock_iface.get_response.return_value = fakes.create_fake_json_resp(
            {"foo": "foo"}, 200)
        m.side_effect = [
            mock_net, mock_subnet, mock_public, mock_router, mock_iface
        ]
        name = fakes.networks[tenant["id"]][0]["name"]
        net_id = fakes.networks[tenant["id"]][0]["id"]
        address = fakes.networks[tenant["id"]][0]["subnet_info"]["cidr"]
        headers = {
            'Category':
            'network;'
            ' scheme='
            '"http://schemas.ogf.org/occi/infrastructure#";'
            'class="kind",'
            'ipnetwork;'
            ' scheme='
            '"http://schemas.ogf.org/occi/infrastructure/'
            'network#";'
            'class="mixin",',
            'X-OCCI-Attribute':
            '"occi.core.title"="%s",'
            '"occi.network.address"="%s"' % (name, address)
        }
        req = self._build_req(path="/network",
                              tenant_id='X',
                              method="POST",
                              headers=headers)

        m.return_value = fakes.networks[tenant['id']][0]
        resp = req.get_response(self.app)
        self.assertEqual(200, resp.status_code)
        expected = [("X-OCCI-Location",
                     utils.join_url(self.application_url + "/",
                                    "network/%s" % net_id))]
        self.assertExpectedResult(expected, resp)
Exemple #7
0
 def test_list_networks_with_no_public(self, m_t, m_rq):
     id = uuid.uuid4().hex
     resp = fakes.create_fake_json_resp({"networks": [{"id": id}]}, 200)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     resp_float = fakes.create_fake_json_resp({"floating_ip_pools": []},
                                              204)
     req_mock_float = mock.MagicMock()
     req_mock_float.get_response.return_value = resp_float
     m_rq.side_effect = [req_mock, req_mock_float]
     ret = self.helper.list_networks(None)
     self.assertEqual(1, ret.__len__())
 def test_list_networks_with_no_public(self, m_t, m_rq):
     id = uuid.uuid4().hex
     resp = fakes.create_fake_json_resp({"networks": [{"id": id}]}, 200)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     resp_float = fakes.create_fake_json_resp(
         {"floating_ip_pools": []}, 204
     )
     req_mock_float = mock.MagicMock()
     req_mock_float.get_response.return_value = resp_float
     m_rq.side_effect = [req_mock, req_mock_float]
     ret = self.helper.list_networks(None)
     self.assertEqual(1, ret.__len__())
Exemple #9
0
    def test_get_security_group(self, m_t, m_rq):
        tenant_id = fakes_nova.tenants["baz"]["id"]
        m_t.return_value = tenant_id
        sc_group = fakes_nova.security_groups[tenant_id][0]
        id = sc_group['id']
        m_t.return_value = tenant_id
        resp = fakes_network.create_fake_json_resp(
            {"security_group": sc_group}, 200)
        req_mock = mock.MagicMock()
        req_mock.get_response.return_value = resp
        m_rq.return_value = req_mock
        ret = self.helper.get_security_group_details(None, id)
        self.assertEqual(sc_group['id'], ret["id"])
        self.assertEqual(sc_group['description'], ret["summary"])
        occi_os_group = os_helpers.build_security_group_from_nova(
            fakes_nova.security_groups[tenant_id])[0]
        cont = 0
        for r in ret["rules"]:
            self.assertEqual(occi_os_group['rules'][cont]['protocol'],
                             r["protocol"])
            self.assertEqual(occi_os_group['rules'][cont]['range'], r["range"])
            self.assertEqual(occi_os_group['rules'][cont]['port'], r["port"])
            self.assertEqual(occi_os_group['rules'][cont]['type'], r["type"])
            cont += 1

        m_rq.assert_called_with(
            None,
            method="GET",
            path="/%s/os-security-groups/%s" % (tenant_id, id),
        )
Exemple #10
0
    def test_get_security_group(self, m_t, m_rq):
        tenant_id = fakes_nova.tenants["baz"]["id"]
        m_t.return_value = tenant_id
        sc_group = fakes_nova.security_groups[tenant_id][0]
        id = sc_group['id']
        m_t.return_value = tenant_id
        resp = fakes_network.create_fake_json_resp(
            {"security_group": sc_group}, 200
        )
        req_mock = mock.MagicMock()
        req_mock.get_response.return_value = resp
        m_rq.return_value = req_mock
        ret = self.helper.get_security_group_details(None, id)
        self.assertEqual(sc_group['id'], ret["id"])
        self.assertEqual(sc_group['description'], ret["summary"])
        occi_os_group = os_helpers.build_security_group_from_nova(
            fakes_nova.security_groups[tenant_id]
        )[0]
        cont = 0
        for r in ret["rules"]:
            self.assertEqual(
                occi_os_group['rules'][cont]['protocol'], r["protocol"])
            self.assertEqual(
                occi_os_group['rules'][cont]['range'], r["range"])
            self.assertEqual(
                occi_os_group['rules'][cont]['port'], r["port"])
            self.assertEqual(
                occi_os_group['rules'][cont]['type'], r["type"])
            cont += 1

        m_rq.assert_called_with(
            None, method="GET",
            path="/%s/os-security-groups/%s" % (tenant_id, id),
        )
Exemple #11
0
 def test_create_net(self, m_t, m_rq):
     tenant_id = uuid.uuid4().hex
     m_t.return_value = tenant_id
     name = "name_net"
     net_id = uuid.uuid4().hex
     cidr = "0.0.0.0"
     gateway = "0.0.0.1"
     parameters = {"label": name,
                   "cidr": cidr,
                   "gateway": gateway
                   }
     resp = fakes_network.create_fake_json_resp(
         {"network": {"id": net_id, "label": name,
                      "cidr": cidr,
                      "gateway": gateway}}, 200
     )
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m_rq.return_value = req_mock
     ret = self.helper.create_network(None,
                                      name=name,
                                      cidr=cidr,
                                      gateway=gateway,
                                      )
     body = utils.make_body('network', parameters)
     m_rq.assert_called_with(
         None, method="POST",
         content_type='application/json',
         path="/%s/os-networks" % (tenant_id),
         body=json.dumps(body)
     )
     self.assertEqual(cidr, ret['address'])
     self.assertEqual(name, ret['name'])
     self.assertEqual(gateway, ret['gateway'])
     self.assertEqual(net_id, ret['id'])
Exemple #12
0
 def test_create_resource_net_subnet(self, m):
     name = "name_net"
     net_id = uuid.uuid4().hex
     state = "ACTIVE"
     project = "project_id"
     ip_version = 4
     cidr = "0.0.0.0"
     gate_way = "0.0.0.1"
     subnet_id = uuid.uuid4().hex
     parameters = {
         "occi.core.title": name,
         "occi.core.id": net_id,
         "occi.network.state": state,
         "X_PROJECT_ID": project,
         "occi.network.ip_version": ip_version,
         "occi.networkinterface.address": cidr,
         "occi.networkinterface.gateway": gate_way
     }
     resp = fakes.create_fake_json_resp(
         {
             "network": {
                 "id": net_id
             },
             "subnet": {
                 "id": subnet_id
             }
         }, 201)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m.return_value = req_mock
     ret = self.helper.create_resource(None, 'networks', parameters)
     self.assertEqual(net_id, ret["id"])
     ret2 = self.helper.create_resource(None, 'subnets', parameters)
     self.assertEqual(subnet_id, ret2["id"])
     m.assert_called_with(None, "subnets", parameters)
Exemple #13
0
 def test_get_network(self, m_t, m_rq):
     id = uuid.uuid4().hex
     address = uuid.uuid4().hex
     gateway = uuid.uuid4().hex
     label = "network11"
     tenant_id = uuid.uuid4().hex
     m_t.return_value = tenant_id
     resp = fakes.create_fake_json_resp(
         {
             "network": {
                 "id": id,
                 "label": label,
                 "cidr": address,
                 "gateway": gateway
             }
         }, 200)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m_rq.return_value = req_mock
     ret = self.helper.get_network_details(None, id)
     self.assertEqual(id, ret["id"])
     self.assertEqual(address, ret["address"])
     self.assertEqual(gateway, ret["gateway"])
     self.assertEqual(label, ret["name"])
     m_rq.assert_called_with(
         None,
         method="GET",
         path="/%s/os-networks/%s" % (tenant_id, id),
     )
Exemple #14
0
 def test_create_resource_net_subnet_req(self, m):
     name = "name_net"
     net_id = uuid.uuid4().hex
     state = "ACTIVE"
     project = "project_id"
     ip_version = uuid.uuid4().hex
     cidr = "0.0.0.0"
     gate_way = "0.0.0.1"
     subnet_id = uuid.uuid4().hex
     parameters = {"occi.core.title": name,
                   "occi.core.id": net_id,
                   "occi.network.state": state,
                   "X_PROJECT_ID": project,
                   "org.openstack.network.ip_version": ip_version,
                   "occi.network.address": cidr,
                   "occi.network.gateway": gate_way
                   }
     resp = fakes.create_fake_json_resp(
         {"network": {"id": net_id},
          "subnet": {"id": subnet_id}}, 201
     )
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m.return_value = req_mock
     ret = self.helper.create_resource(None, 'networks', parameters)
     self.assertEqual(net_id, ret["id"])
     ret2 = self.helper.create_resource(None, 'subnets', parameters)
     self.assertEqual(subnet_id, ret2["id"])
     m.assert_called_with(None,
                          path="/subnets",
                          content_type="application/json",
                          body=json.dumps(utils.make_body(
                              "subnet", parameters)),
                          method="POST")
Exemple #15
0
 def test_create_resource_net_subnet(self, m):
     name = "name_net"
     net_id = uuid.uuid4().hex
     state = "ACTIVE"
     project = "project_id"
     ip_version = 4
     cidr = "0.0.0.0"
     gate_way = "0.0.0.1"
     subnet_id = uuid.uuid4().hex
     parameters = {"occi.core.title": name,
                   "occi.core.id": net_id,
                   "occi.network.state": state,
                   "X_PROJECT_ID": project,
                   "occi.network.ip_version": ip_version,
                   "occi.networkinterface.address": cidr,
                   "occi.networkinterface.gateway": gate_way
                   }
     resp = fakes.create_fake_json_resp(
         {"network": {"id": net_id},
          "subnet": {"id": subnet_id}}, 201
     )
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m.return_value = req_mock
     ret = self.helper.create_resource(None, 'networks', parameters)
     self.assertEqual(net_id, ret["id"])
     ret2 = self.helper.create_resource(None, 'subnets', parameters)
     self.assertEqual(subnet_id, ret2["id"])
     m.assert_called_with(None, "subnets", parameters)
Exemple #16
0
 def test_get_network_public(self, m):
     id = 'PUBLIC'
     resp_get_public = fakes.create_fake_json_resp(
         {"networks": [{"status": "ACTIVE", "id": id}]}, 200)
     req_mock_public = mock.MagicMock()
     req_mock_public.get_response.return_value = resp_get_public
     resp = fakes.create_fake_json_resp(
         {"network": {"status": "ACTIVE", "id": id}}, 200)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m.side_effect = [req_mock_public, req_mock]
     ret = self.helper.get_network_details(None, id)
     self.assertEqual("active", ret["state"])
     m.assert_called_with(None, method="GET",
                          path="/networks/%s" % id,
                          query_string=None)
Exemple #17
0
 def test_index(self, m):
     resp = fakes.create_fake_json_resp({"networks": ["FOO"]}, 200)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m.return_value = req_mock
     ret = self.helper.list_resources(None, 'networks', None)
     self.assertEqual(["FOO"], ret)
     m.assert_called_with(None, "/networks", None)
Exemple #18
0
 def test_delete_network_resource_make_mock(self, m):
     resp = fakes.create_fake_json_resp({"network": []}, 204)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m.return_value = req_mock
     ret = self.helper.delete_resource(None, 'networks', 1)
     self.assertEqual(ret, [])
     m.assert_called_with(None, "/networks", 1)
Exemple #19
0
 def test_index(self, m):
     resp = fakes.create_fake_json_resp({"networks": ["FOO"]}, 200)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m.return_value = req_mock
     ret = self.helper.list_resources(None, 'networks', None)
     self.assertEqual(["FOO"], ret)
     m.assert_called_with(None, "/networks", None)
Exemple #20
0
 def test_delete_network_resource_make_mock(self, m):
     resp = fakes.create_fake_json_resp({"network": []}, 204)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m.return_value = req_mock
     ret = self.helper.delete_resource(None, 'networks', 1)
     self.assertEqual(ret, [])
     m.assert_called_with(None, "/networks", 1)
Exemple #21
0
 def test_index3(self, m):
     id = uuid.uuid4().hex
     resp = fakes.create_fake_json_resp({"networks": [{"id": id}]}, 200)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m.return_value = req_mock
     ret = self.helper.list_networks(None)
     self.assertEqual(id, ret[0]['id'])
     m.assert_called_with(None, "/networks", None)
Exemple #22
0
 def test_index3(self, m):
     id = uuid.uuid4().hex
     resp = fakes.create_fake_json_resp({"networks": [{"id": id}]}, 200)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m.return_value = req_mock
     ret = self.helper.list_networks(None)
     self.assertEqual(id, ret[0]['id'])
     m.assert_called_with(None, "/networks", None)
Exemple #23
0
 def test_get_subnetwork(self, m):
     id = uuid.uuid4().hex
     resp = fakes.create_fake_json_resp({"subnet": ["FOO"]}, 200)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m.return_value = req_mock
     ret = self.helper.get_resource(None, 'subnets', id)
     self.assertEqual(["FOO"], ret)
     m.assert_called_with(None, "/subnets/%s" % id)
Exemple #24
0
 def test_response_delete_network_resource(self, m):
     resp = fakes.create_fake_json_resp({"network": []}, 204)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m.return_value = req_mock
     id = 1
     ret = self.helper.delete_resource(None, 'networks', id)
     self.assertEqual(ret, [])
     m.assert_called_with(None, method="DELETE", path="/networks/1")
Exemple #25
0
 def test_get_subnetwork(self, m):
     id = uuid.uuid4().hex
     resp = fakes.create_fake_json_resp(
         {"subnet": ["FOO"]}, 200)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m.return_value = req_mock
     ret = self.helper.get_resource(None, 'subnets', id)
     self.assertEqual(["FOO"], ret)
     m.assert_called_with(None, "/subnets/%s" % id)
Exemple #26
0
 def test_response_delete_network_resource(self, m):
     resp = fakes.create_fake_json_resp({"network": []}, 204)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m.return_value = req_mock
     id = 1
     ret = self.helper.delete_resource(None, 'networks', id)
     self.assertEqual(ret, [])
     m.assert_called_with(None, method="DELETE",
                          path="/networks/1")
Exemple #27
0
 def test_get_network(self, m):
     id = uuid.uuid4().hex
     resp = fakes.create_fake_json_resp(
         {"network": {"status": "ACTIVE", "id": id}}, 200)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m.return_value = req_mock
     ret = self.helper.get_network_details(None, id)
     self.assertEqual("active", ret["state"])
     m.assert_called_with(None, "/networks/%s" % id)
Exemple #28
0
 def test_create_security_group(self, m_t, m_rq):
     tenant_id = fakes_nova.tenants["baz"]["id"]
     m_t.return_value = tenant_id
     sc_group = fakes_nova.security_groups[tenant_id][0]
     occi_os_group = os_helpers.build_security_group_from_nova(
         fakes_nova.security_groups[tenant_id]
     )[0]
     resp = fakes_network.create_fake_json_resp(
         {"security_group": sc_group}, 200
     )
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     resp_rule1 = fakes_network.create_fake_json_resp(
         {"security_group_rule": sc_group['rules'][0]}, 200
     )
     req_mock_rule1 = mock.MagicMock()
     req_mock_rule1.get_response.return_value = resp_rule1
     resp_rule2 = fakes_network.create_fake_json_resp(
         {"security_group_rule": sc_group['rules'][1]}, 200
     )
     req_mock_rule2 = mock.MagicMock()
     req_mock_rule2.get_response.return_value = resp_rule2
     m_rq.side_effect = [req_mock, req_mock_rule1, req_mock_rule2]
     ret = self.helper.create_security_group(
         None,
         name=occi_os_group['title'],
         description=occi_os_group['summary'],
         rules=occi_os_group['rules']
     )
     cont = 0
     for r in ret["rules"]:
         self.assertEqual(
             occi_os_group['rules'][cont]['protocol'], r["protocol"]
         )
         self.assertEqual(
             occi_os_group['rules'][cont]['range'], r["range"]
         )
         self.assertEqual(
             occi_os_group['rules'][cont]['port'], r["port"])
         self.assertEqual(
             occi_os_group['rules'][cont]['type'], r["type"])
         cont += 1
Exemple #29
0
 def test_delete_networks(self, m):
     tenant = fakes.tenants["foo"]
     port_out = fakes.create_fake_json_resp(
         {"ports": fakes.ports[tenant['id']]}, 200)
     mock_port = mock.Mock(webob.Request)
     mock_port.get_response.return_value = port_out
     empty_out = fakes.create_fake_json_resp([], 204)
     mock_empty = mock.Mock(webob.Request)
     mock_empty.get_response.return_value = empty_out
     m.side_effect = [mock_port, mock_empty, mock_empty,
                      mock_empty, mock_empty]
     for n in fakes.networks[tenant["id"]]:
         m.return_value = fakes.create_fake_json_resp(
             {"subnet": n["subnet_info"]}, 200)
         req = self._build_req(path="/network/%s" % n["id"],
                               tenant_id='X',
                               method="DELETE")
         resp = req.get_response(self.app)
         self.assertEqual(204, resp.status_code)
         self.assertDefaults(resp)
Exemple #30
0
    def test_show_networks(self, m):
        tenant = fakes.tenants["foo"]

        for n in fakes.networks[tenant["id"]]:
            net_out = fakes.create_fake_json_resp({"network": n}, 200)
            mock_net = mock.Mock(webob.Request)
            mock_net.get_response.return_value = net_out
            subnet_out = fakes.create_fake_json_resp(
                {"subnet": n["subnet_info"]}, 200)
            mock_subnet = mock.Mock(webob.Request)
            mock_subnet.get_response.return_value = subnet_out
            m.side_effect = [mock_net, mock_subnet]

            req = self._build_req(path="/network/%s" % n["id"],
                                  tenant_id='X',
                                  method="GET")
            resp = req.get_response(self.app)
            expected = fakes.build_occi_network(n)
            self.assertEqual(200, resp.status_code)
            self.assertDefaults(resp)
            self.assertExpectedResult(expected, resp)
Exemple #31
0
    def test_list_networks_empty(self, m):
        tenant = fakes.tenants["bar"]
        out = fakes.create_fake_json_resp(
            {"networks": fakes.networks[tenant['id']]}, 200)
        m.return_value.get_response.return_value = out

        req = self._build_req(path="/network", tenant_id='X', method="GET")
        resp = req.get_response(self.app)

        self.assertEqual(204, resp.status_code)
        expected_result = ""
        self.assertExpectedResult(expected_result, resp)
        self.assertDefaults(resp)
Exemple #32
0
 def test_delete_networks(self, m):
     tenant = fakes.tenants["foo"]
     empty_out = fakes.create_fake_json_resp([], 204)
     mock_empty = mock.Mock(webob.Request)
     mock_empty.get_response.return_value = empty_out
     for n in fakes.networks_nova[tenant["id"]]:
         m.side_effect = [mock_empty]
         req = self._build_req(path="/network/%s" % n["id"],
                               tenant_id='X',
                               method="DELETE")
         resp = req.get_response(self.app)
         self.assertEqual(204, resp.status_code)
         self.assertDefaults(resp)
    def test_show_networks(self, m):
        tenant = fakes.tenants["foo"]

        for n in fakes.networks[tenant["id"]]:
            net_out = fakes.create_fake_json_resp(
                {"network": n}, 200)
            mock_net = mock.Mock(webob.Request)
            mock_net.get_response.return_value = net_out
            subnet_out = fakes.create_fake_json_resp(
                {"subnet": n["subnet_info"]}, 200)
            mock_subnet = mock.Mock(webob.Request)
            mock_subnet.get_response.return_value = subnet_out
            m.side_effect = [mock_net, mock_subnet]

            req = self._build_req(path="/network/%s" % n["id"],
                                  tenant_id='X',
                                  method="GET")
            resp = req.get_response(self.app)
            expected = fakes.build_occi_network(n)
            self.assertEqual(200, resp.status_code)
            self.assertDefaults(resp)
            self.assertExpectedResult(expected, resp)
Exemple #34
0
 def test_get_network(self, m):
     id = uuid.uuid4().hex
     resp = fakes.create_fake_json_resp(
         {"network": {
             "status": "ACTIVE",
             "id": id
         }}, 200)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m.return_value = req_mock
     ret = self.helper.get_network_details(None, id)
     self.assertEqual("active", ret["state"])
     m.assert_called_with(None, "/networks/%s" % id)
    def test_list_networks_empty(self, m):
        tenant = fakes.tenants["bar"]
        out = fakes.create_fake_json_resp(
            {"networks": fakes.networks[tenant['id']]}, 200)
        m.return_value.get_response.return_value = out

        req = self._build_req(path="/network",
                              tenant_id='X', method="GET")
        resp = req.get_response(self.app)

        self.assertEqual(204, resp.status_code)
        expected_result = ""
        self.assertExpectedResult(expected_result, resp)
        self.assertDefaults(resp)
 def test_delete_networks(self, m):
     tenant = fakes.tenants["foo"]
     empty_out = fakes.create_fake_json_resp(
         [], 204)
     mock_empty = mock.Mock(webob.Request)
     mock_empty.get_response.return_value = empty_out
     for n in fakes.networks_nova[tenant["id"]]:
         m.side_effect = [mock_empty]
         req = self._build_req(path="/network/%s" % n["id"],
                               tenant_id='X',
                               method="DELETE")
         resp = req.get_response(self.app)
         self.assertEqual(204, resp.status_code)
         self.assertDefaults(resp)
Exemple #37
0
 def test_get_network_public(self, m):
     id = 'PUBLIC'
     resp_get_public = fakes.create_fake_json_resp(
         {"networks": [{
             "status": "ACTIVE",
             "id": id
         }]}, 200)
     req_mock_public = mock.MagicMock()
     req_mock_public.get_response.return_value = resp_get_public
     resp = fakes.create_fake_json_resp(
         {"network": {
             "status": "ACTIVE",
             "id": id
         }}, 200)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m.side_effect = [req_mock_public, req_mock]
     ret = self.helper.get_network_details(None, id)
     self.assertEqual("active", ret["state"])
     m.assert_called_with(None,
                          method="GET",
                          path="/networks/%s" % id,
                          query_string=None)
Exemple #38
0
 def test_create_server_security_link(self, mock_tenant, mock_req):
     tenant_id = fakes_nova.tenants["baz"]["id"]
     server_id = uuid.uuid4().hex
     sg_id = "baz"
     mock_tenant.return_value = tenant_id
     sc_group = fakes_nova.security_groups[tenant_id][0]
     resp_get = fakes_network.create_fake_json_resp(
         {"security_group": sc_group}, 200)
     req_mock_get = mock.MagicMock()
     req_mock_get.get_response.return_value = resp_get
     resp_create = fakes_network.create_fake_json_resp({}, 204)
     req_mock_cre = mock.MagicMock()
     req_mock_cre.get_response.return_value = resp_create
     mock_req.side_effect = [req_mock_get, req_mock_cre]
     ret = self.helper.create_server_security_link(None, server_id, sg_id)
     self.assertEqual([], ret)
     sg_name = sc_group["name"]
     mock_req.assert_called_with(
         None,
         method="POST",
         path="/%s/servers/%s/action" % (tenant_id, server_id),
         body='{"addSecurityGroup": {"name": "%s"}}' % sg_name,
         content_type='application/json')
Exemple #39
0
 def test_get_network_with_subnet(self, m):
     id = uuid.uuid4().hex
     address = uuid.uuid4().hex
     resp = fakes.create_fake_json_resp(
         {"network": {"status": "ACTIVE", "id": id, "subnets": [2]},
          "subnet": {"cidr": address}}, 200
     )
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m.return_value = req_mock
     ret = self.helper.get_network_details(None, id)
     self.assertEqual("active", ret["state"])
     self.assertEqual(address, ret["address"])
     m.assert_called_with(req_mock, "/subnets/2")
Exemple #40
0
 def test_get_network_with_subnet2(self, m):
     id = uuid.uuid4().hex
     address = '90349034'
     resp = fakes.create_fake_json_resp(
         {"network": {"status": "DOWN", "id": id, "subnets": [2]},
          "subnet": {"cidr": address}}, 200
     )
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m.return_value = req_mock
     ret = self.helper.get_network_details(None, id)
     self.assertEqual("inactive", ret["state"])
     self.assertEqual(address, ret["address"])
     m.assert_called_with(req_mock, method="GET",
                          path="/subnets/2", query_string=None)
Exemple #41
0
    def test_list_networks(self, m):
        tenant = fakes.tenants["foo"]
        out = fakes.create_fake_json_resp(
            {"networks": fakes.networks[tenant['id']]}, 200)
        m.return_value.get_response.return_value = out
        req = self._build_req(path="/network", tenant_id='X', method="GET")
        resp = req.get_response(self.app)

        self.assertEqual(200, resp.status_code)
        expected = []
        for s in fakes.networks[tenant["id"]]:
            expected.append(("X-OCCI-Location",
                             utils.join_url(self.application_url + "/",
                                            "network/%s" % s["id"])))
        self.assertDefaults(resp)
        self.assertExpectedResult(expected, resp)
Exemple #42
0
 def test_remove_router_interface(self, m):
     router_id = uuid.uuid4().hex
     subnet_id = uuid.uuid4().hex
     port_id = uuid.uuid4().hex
     resp = fakes.create_fake_json_resp(
         {"port_id": port_id, "subnet_id": subnet_id}, 201
     )
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m.return_value = req_mock
     ret = self.helper._remove_router_interface(None, router_id, port_id)
     self.assertEqual(port_id, ret["port_id"])
     self.assertEqual(subnet_id, ret["subnet_id"])
     path = "/routers/%s/remove_router_interface" % router_id
     param = {"port_id": port_id}
     m.assert_called_with(None, path, param)
Exemple #43
0
 def test_get_list_with_public(self, m):
     id_public = uuid.uuid4().hex
     id_private = uuid.uuid4().hex
     net_private = {"status": "ACTIVE", "id": id_private}
     net_public = {"status": "ACTIVE", "id": id_public,
                   'router:external': True}
     resp = fakes.create_fake_json_resp({
         "networks": [net_private, net_public]}, 200)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m.return_value = req_mock
     ret = self.helper.list_networks(None)
     self.assertEqual(2, ret.__len__())
     self.assertEqual(id_private, ret[0]['id'])
     self.assertEqual('PUBLIC', ret[1]['id'])
     m.assert_called_with(None, method="GET",
                          path="/networks", query_string=None)
Exemple #44
0
 def test_create_only_network(self, m):
     name = "name_net"
     net_id = uuid.uuid4().hex
     state = "ACTIVE"
     project = "project_id"
     parameters = {"occi.core.title": name,
                   "occi.core.id": net_id,
                   "occi.network.state": state,
                   "project": project,
                   }
     resp = fakes.create_fake_json_resp(
         {"network": {"network_id": net_id}}, 201)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m.return_value = req_mock
     ret = self.helper.create_resource(None, 'networks', parameters)
     self.assertEqual(net_id, ret["network_id"])
     m.assert_called_with(None, "networks", parameters)
Exemple #45
0
 def test_remove_router_interface(self, m):
     router_id = uuid.uuid4().hex
     subnet_id = uuid.uuid4().hex
     port_id = uuid.uuid4().hex
     resp = fakes.create_fake_json_resp(
         {
             "port_id": port_id,
             "subnet_id": subnet_id
         }, 201)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m.return_value = req_mock
     ret = self.helper._remove_router_interface(None, router_id, port_id)
     self.assertEqual(port_id, ret["port_id"])
     self.assertEqual(subnet_id, ret["subnet_id"])
     path = "/routers/%s/remove_router_interface" % router_id
     param = {"port_id": port_id}
     m.assert_called_with(None, path, param)
Exemple #46
0
 def test_list_security_groups(self, m_t, m_rq):
     tenant_id = fakes_nova.tenants["baz"]["id"]
     m_t.return_value = tenant_id
     sc_groups = fakes_nova.security_groups[tenant_id]
     resp = fakes_network.create_fake_json_resp(
         {"security_groups": sc_groups}, 200)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m_rq.side_effect = [req_mock]
     ret = self.helper.list_security_groups(None)
     cont = 0
     for sc in sc_groups:
         self.assertEqual(sc['id'], ret[cont]['id'])
         cont = cont + 1
     self.assertEqual(
         {'method': 'GET',
          'path': '/%s/os-security-groups' % (tenant_id)},
         m_rq.call_args_list[0][1]
     )
    def test_list_networks(self, m):
        tenant = fakes.tenants["foo"]
        out = fakes.create_fake_json_resp(
            {"networks": fakes.networks[tenant['id']]}, 200)
        m.return_value.get_response.return_value = out
        req = self._build_req(path="/network",
                              tenant_id='X', method="GET")
        resp = req.get_response(self.app)

        self.assertEqual(200, resp.status_code)
        expected = []
        for s in fakes.networks[tenant["id"]]:
            expected.append(
                ("X-OCCI-Location",
                 utils.join_url(self.application_url + "/",
                                "network/%s" % s["id"]))
            )
        self.assertDefaults(resp)
        self.assertExpectedResult(expected, resp)
Exemple #48
0
 def test_list_security_groups(self, m_t, m_rq):
     tenant_id = fakes_nova.tenants["baz"]["id"]
     m_t.return_value = tenant_id
     sc_groups = fakes_nova.security_groups[tenant_id]
     resp = fakes_network.create_fake_json_resp(
         {"security_groups": sc_groups}, 200)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m_rq.side_effect = [req_mock]
     ret = self.helper.list_security_groups(None)
     cont = 0
     for sc in sc_groups:
         self.assertEqual(sc['id'], ret[cont]['id'])
         cont = cont + 1
     self.assertEqual(
         {
             'method': 'GET',
             'path': '/%s/os-security-groups' % (tenant_id)
         }, m_rq.call_args_list[0][1])
Exemple #49
0
 def test_create_only_network(self, m):
     name = "name_net"
     net_id = uuid.uuid4().hex
     state = "ACTIVE"
     project = "project_id"
     parameters = {
         "occi.core.title": name,
         "occi.core.id": net_id,
         "occi.network.state": state,
         "project": project,
     }
     resp = fakes.create_fake_json_resp({"network": {
         "network_id": net_id
     }}, 201)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m.return_value = req_mock
     ret = self.helper.create_resource(None, 'networks', parameters)
     self.assertEqual(net_id, ret["network_id"])
     m.assert_called_with(None, "networks", parameters)
Exemple #50
0
 def test_get_server_security_group(self, mock_tenant, mock_get):
     tenant_id = fakes_nova.tenants["baz"]["id"]
     server_id = uuid.uuid4().hex
     sc_group = fakes_nova.security_groups[tenant_id]
     mock_tenant.return_value = tenant_id
     resp = fakes_network.create_fake_json_resp(
         {"security_groups": sc_group}, 200)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     mock_get.return_value = req_mock
     ret = self.helper._get_server_security_group(None, server_id)
     segroup = os_helpers.build_security_group_from_nova(sc_group)
     cont = 0
     for s in segroup:
         self.assertEqual(s, ret[cont])
         cont += 1
     mock_get.assert_called_with(
         None,
         method="GET",
         path="/%s/servers/%s/os-security-groups" % (tenant_id, server_id),
     )
Exemple #51
0
 def test_get_network_with_subnet(self, m):
     id = uuid.uuid4().hex
     address = uuid.uuid4().hex
     resp = fakes.create_fake_json_resp(
         {
             "network": {
                 "status": "ACTIVE",
                 "id": id,
                 "subnets": [2]
             },
             "subnet": {
                 "cidr": address
             }
         }, 200)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m.return_value = req_mock
     ret = self.helper.get_network_details(None, id)
     self.assertEqual("active", ret["state"])
     self.assertEqual(address, ret["address"])
     m.assert_called_with(req_mock, "/subnets/2")
Exemple #52
0
 def test_create_resource_net_subnet_req(self, m):
     name = "name_net"
     net_id = uuid.uuid4().hex
     state = "ACTIVE"
     project = "project_id"
     ip_version = uuid.uuid4().hex
     cidr = "0.0.0.0"
     gate_way = "0.0.0.1"
     subnet_id = uuid.uuid4().hex
     parameters = {
         "occi.core.title": name,
         "occi.core.id": net_id,
         "occi.network.state": state,
         "X_PROJECT_ID": project,
         "org.openstack.network.ip_version": ip_version,
         "occi.network.address": cidr,
         "occi.network.gateway": gate_way
     }
     resp = fakes.create_fake_json_resp(
         {
             "network": {
                 "id": net_id
             },
             "subnet": {
                 "id": subnet_id
             }
         }, 201)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m.return_value = req_mock
     ret = self.helper.create_resource(None, 'networks', parameters)
     self.assertEqual(net_id, ret["id"])
     ret2 = self.helper.create_resource(None, 'subnets', parameters)
     self.assertEqual(subnet_id, ret2["id"])
     m.assert_called_with(None,
                          path="/subnets",
                          content_type="application/json",
                          body=json.dumps(
                              utils.make_body("subnet", parameters)),
                          method="POST")
Exemple #53
0
 def test_get_list_with_public(self, m):
     id_public = uuid.uuid4().hex
     id_private = uuid.uuid4().hex
     net_private = {"status": "ACTIVE", "id": id_private}
     net_public = {
         "status": "ACTIVE",
         "id": id_public,
         'router:external': True
     }
     resp = fakes.create_fake_json_resp(
         {"networks": [net_private, net_public]}, 200)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m.return_value = req_mock
     ret = self.helper.list_networks(None)
     self.assertEqual(2, ret.__len__())
     self.assertEqual(id_private, ret[0]['id'])
     self.assertEqual('PUBLIC', ret[1]['id'])
     m.assert_called_with(None,
                          method="GET",
                          path="/networks",
                          query_string=None)
Exemple #54
0
 def test_create_net(self, m_t, m_rq):
     tenant_id = uuid.uuid4().hex
     m_t.return_value = tenant_id
     name = "name_net"
     net_id = uuid.uuid4().hex
     cidr = "0.0.0.0"
     gateway = "0.0.0.1"
     parameters = {"label": name, "cidr": cidr, "gateway": gateway}
     resp = fakes.create_fake_json_resp(
         {
             "network": {
                 "id": net_id,
                 "label": name,
                 "cidr": cidr,
                 "gateway": gateway
             }
         }, 200)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m_rq.return_value = req_mock
     ret = self.helper.create_network(
         None,
         name=name,
         cidr=cidr,
         gateway=gateway,
     )
     body = utils.make_body('network', parameters)
     m_rq.assert_called_with(None,
                             method="POST",
                             content_type='application/json',
                             path="/%s/os-networks" % (tenant_id),
                             body=json.dumps(body))
     self.assertEqual(cidr, ret['address'])
     self.assertEqual(name, ret['name'])
     self.assertEqual(gateway, ret['gateway'])
     self.assertEqual(net_id, ret['id'])
Exemple #55
0
 def test_get_server_security_group(self, mock_tenant, mock_get):
     tenant_id = fakes_nova.tenants["baz"]["id"]
     server_id = uuid.uuid4().hex
     sc_group = fakes_nova.security_groups[tenant_id]
     mock_tenant.return_value = tenant_id
     resp = fakes_network.create_fake_json_resp(
         {"security_groups": sc_group}, 200
     )
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     mock_get.return_value = req_mock
     ret = self.helper._get_server_security_group(None, server_id)
     segroup = os_helpers.build_security_group_from_nova(
         sc_group
     )
     cont = 0
     for s in segroup:
         self.assertEqual(s, ret[cont])
         cont += 1
     mock_get.assert_called_with(
         None, method="GET",
         path="/%s/servers/%s/os-security-groups" % (tenant_id,
                                                     server_id),
     )
Exemple #56
0
 def test_get_network_with_subnet2(self, m):
     id = uuid.uuid4().hex
     address = '90349034'
     resp = fakes.create_fake_json_resp(
         {
             "network": {
                 "status": "DOWN",
                 "id": id,
                 "subnets": [2]
             },
             "subnet": {
                 "cidr": address
             }
         }, 200)
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m.return_value = req_mock
     ret = self.helper.get_network_details(None, id)
     self.assertEqual("inactive", ret["state"])
     self.assertEqual(address, ret["address"])
     m.assert_called_with(req_mock,
                          method="GET",
                          path="/subnets/2",
                          query_string=None)
Exemple #57
0
 def test_get_network(self, m_t, m_rq):
     id = uuid.uuid4().hex
     address = uuid.uuid4().hex
     gateway = uuid.uuid4().hex
     label = "network11"
     tenant_id = uuid.uuid4().hex
     m_t.return_value = tenant_id
     resp = fakes_network.create_fake_json_resp(
         {"network": {"id": id, "label": label,
                      "cidr": address,
                      "gateway": gateway}}, 200
     )
     req_mock = mock.MagicMock()
     req_mock.get_response.return_value = resp
     m_rq.return_value = req_mock
     ret = self.helper.get_network_details(None, id)
     self.assertEqual(id, ret["id"])
     self.assertEqual(address, ret["address"])
     self.assertEqual(gateway, ret["gateway"])
     self.assertEqual(label, ret["name"])
     m_rq.assert_called_with(
         None, method="GET",
         path="/%s/os-networks/%s" % (tenant_id, id),
         )
Exemple #58
0
    def test_create(self, m):
        tenant = fakes.tenants["foo"]
        net_out = fakes.create_fake_json_resp(
            {"network": fakes.networks_nova[tenant['id']][0]}, 200)
        mock_net = mock.Mock(webob.Request)
        mock_net.get_response.return_value = net_out
        m.side_effect = [mock_net]
        name = fakes.networks_nova[tenant["id"]][0]["label"]
        net_id = fakes.networks_nova[tenant["id"]][0]["id"]
        address = fakes.networks_nova[tenant["id"]][0]["cidr"]
        headers = {
            'Category': 'network;'
                        ' scheme='
                        '"http://schemas.ogf.org/occi/infrastructure#";'
                        'class="kind",'
                        'ipnetwork;'
                        ' scheme='
                        '"http://schemas.ogf.org/occi/'
                        'infrastructure/network#";'
                        'class="mixin",',
            'X-OCCI-Attribute': 'occi.core.title="%s",'
                                'occi.network.address="%s"' %
                                (name, address)
        }
        req = self._build_req(path="/network",
                              tenant_id='X',
                              method="POST",
                              headers=headers)

        m.return_value = fakes.networks_nova[tenant['id']][0]
        resp = req.get_response(self.app)
        self.assertEqual(200, resp.status_code)
        expected = [("X-OCCI-Location",
                     utils.join_url(self.application_url + "/",
                                    "network/%s" % net_id))]
        self.assertExpectedResult(expected, resp)