Ejemplo n.º 1
0
    def test_create_pool(self, mock_validator, mock_allocate):
        tenant = fakes.tenants["baz"]
        floating_list = fakes.floating_ips[tenant["id"]][0]
        mock_allocate.return_value = floating_list
        pool_name = "public"
        obj = {
            "attributes": {},
            "schemes": {
                os_network.OSFloatingIPPool.scheme: [pool_name],
            }
        }
        parameters = {}
        categories = {ip_reservation.IPReservation.kind}
        req = fake_nets.create_req_test_occi(parameters, categories)

        req.get_parser = mock.MagicMock()
        req.get_parser.return_value.return_value.parse.return_value = obj
        mock_validator.validate.return_value = True

        result = self.controller.create(req)

        expected = self.controller._get_ipreservation_resources(
            [floating_list])
        self.assertEqual(expected, result.resources)
        mock_allocate.assert_called_with(req, pool_name)
Ejemplo n.º 2
0
 def test_create_invalid_param_rule(self):
     params = {"occi.core.title": "group",
               "occi.securitygroup.rules": "{'wrong': 'value'}]"
               }
     categories = {occi_security_group.SecurityGroupResource.kind}
     req = fakes.create_req_test_occi(params, categories)
     self.assertRaises(exception.Invalid, self.controller.create, req)
Ejemplo n.º 3
0
 def test_create_ipreservation(self, mock_get_id, mock_assign):
     server_id = uuid.uuid4().hex
     net_id = "foo/ipreservation/%s" % uuid.uuid4().hex
     ip = '8.0.0.0'
     parameters = {
         "occi.core.target": net_id,
         "occi.core.source": server_id,
     }
     categories = {network_link.NetworkInterface.kind}
     req = fake_nets.create_req_test_occi(parameters, categories)
     mock_assign.return_value = fake_nets.fake_build_link(net_id,
                                                          server_id,
                                                          ip,
                                                          public_ip=True)
     mock_get_id.side_effect = [('', server_id), ('', net_id)]
     ret = self.controller.create(req)
     self.assertIsNotNone(ret)
     link = ret.resources.pop()
     self.assertIsInstance(link, os_network.OSNetworkInterface)
     self.assertIsInstance(link.source, compute.ComputeResource)
     self.assertIsInstance(link.target, network.NetworkResource)
     self.assertIsInstance(link.target, ip_reservation.IPReservation)
     self.assertEqual(net_id, link.target.id)
     self.assertEqual(server_id, link.source.id)
     mock_assign.assert_called_with(mock.ANY, net_id, server_id)
Ejemplo n.º 4
0
    def test_create_pool(self, mock_validator, mock_allocate):
        tenant = fakes.tenants["baz"]
        floating_list = fakes.floating_ips[tenant["id"]][0]
        mock_allocate.return_value = floating_list
        pool_name = "public"
        obj = {
            "attributes": {},
            "schemes": {
                os_network.OSFloatingIPPool.scheme: [pool_name],
            }
        }
        parameters = {}
        categories = {ip_reservation.IPReservation.kind}
        req = fake_nets.create_req_test_occi(parameters, categories)

        req.get_parser = mock.MagicMock()
        req.get_parser.return_value.return_value.parse.return_value = obj
        mock_validator.validate.return_value = True

        result = self.controller.create(req)

        expected = self.controller._get_ipreservation_resources(
            [floating_list])
        self.assertEqual(expected, result.resources)
        mock_allocate.assert_called_with(req, pool_name)
Ejemplo n.º 5
0
 def test_create_invalid_param_rule(self):
     params = {
         "occi.core.title": "group",
         "occi.securitygroup.rules": "{'wrong': 'value'}]"
     }
     categories = {occi_security_group.SecurityGroupResource.kind}
     req = fakes.create_req_test_occi(params, categories)
     self.assertRaises(exception.Invalid, self.controller.create, req)
Ejemplo n.º 6
0
 def test_filter_attributes_empty(self):
     categories = {occi_network.NetworkResource.kind}
     req = fakes.create_req_test_occi(None, categories)
     occi_scheme = {
         "category": occi_network.NetworkResource.kind,
         "optional_mixins": [
             occi_network.ip_network,
         ]
     }
     attributes = network_api.process_parameters(req, occi_scheme)
     self.assertEqual({}, attributes)
Ejemplo n.º 7
0
 def test_filter_attributes_empty(self):
     categories = {occi_network.NetworkResource.kind}
     req = fakes.create_req_test_occi(None, categories)
     occi_scheme = {
         "category": occi_network.NetworkResource.kind,
         "optional_mixins": [
             occi_network.ip_network,
         ]
     }
     attributes = network_api.process_parameters(req, occi_scheme)
     self.assertIsNone(attributes)
Ejemplo n.º 8
0
    def test_create(self, mock_allocate):
        tenant = fakes.tenants["baz"]
        floating_list = fakes.floating_ips[tenant["id"]][0]
        mock_allocate.return_value = floating_list
        parameters = {}
        categories = {ip_reservation.IPReservation.kind}
        req = fake_nets.create_req_test_occi(parameters, categories)

        result = self.controller.create(req)

        expected = self.controller._get_ipreservation_resources(
            [floating_list])
        self.assertEqual(expected, result.resources)
        mock_allocate.assert_called_with(req, None)
Ejemplo n.º 9
0
    def test_create(self, mock_allocate):
        tenant = fakes.tenants["baz"]
        floating_list = fakes.floating_ips[tenant["id"]][0]
        mock_allocate.return_value = floating_list
        parameters = {}
        categories = {ip_reservation.IPReservation.kind}
        req = fake_nets.create_req_test_occi(parameters, categories)

        result = self.controller.create(req)

        expected = self.controller._get_ipreservation_resources(
            [floating_list])
        self.assertEqual(expected, result.resources)
        mock_allocate.assert_called_with(req, None)
Ejemplo n.º 10
0
 def test_filter_attributes(self):
     parameters = {"occi.core.title": 'name',
                   "org.openstack.network.ip_version": 4,
                   "occi.network.address": '00001/24',
                   "occi.network.gateway": '00001',
                   }
     categories = {occi_network.NetworkResource.kind}
     req = fakes.create_req_test_occi(parameters, categories)
     occi_scheme = {
         "category": occi_network.NetworkResource.kind,
         "optional_mixins": [
             occi_network.ip_network,
         ]
     }
     ret = network_api.process_parameters(req, occi_scheme)
     self.assertEqual(parameters, ret)
Ejemplo n.º 11
0
 def test_create_no_ip_mixin(self, m):
     test_networks = fakes.networks[fakes.tenants["foo"]["id"]]
     for test_net in test_networks:
         parameters = {
             "occi.core.title": test_net["name"],
             "org.openstack.network.ip_version": 4,
             "occi.network.address": "0.0.0.0",
         }
         categories = {occi_network.NetworkResource.kind}
         req = fakes.create_req_test_occi(parameters, categories)
         fake_net = fakes.fake_build_net(
             parameters['occi.core.title'],
             parameters['org.openstack.network.ip_version'],
             parameters['occi.network.address'])
         m.return_value = fake_net
         self.assertRaises(exception.OCCIMissingType,
                           self.controller.create, req)
Ejemplo n.º 12
0
 def test_filter_attributes(self):
     parameters = {
         "occi.core.title": 'name',
         "org.openstack.network.ip_version": 4,
         "occi.network.address": '00001/24',
         "occi.network.gateway": '00001',
     }
     categories = {occi_network.NetworkResource.kind}
     req = fakes.create_req_test_occi(parameters, categories)
     occi_scheme = {
         "category": occi_network.NetworkResource.kind,
         "optional_mixins": [
             occi_network.ip_network,
         ]
     }
     ret = network_api.process_parameters(req, occi_scheme)
     self.assertEqual(parameters, ret)
Ejemplo n.º 13
0
 def test_create_no_ip_mixin(self, m):
     test_networks = fakes.networks[fakes.tenants["foo"]["id"]]
     for test_net in test_networks:
         parameters = {"occi.core.title": test_net["name"],
                       "org.openstack.network.ip_version": 4,
                       "occi.network.address": "0.0.0.0",
                       }
         categories = {occi_network.NetworkResource.kind}
         req = fakes.create_req_test_occi(parameters, categories)
         fake_net = fakes.fake_build_net(
             parameters['occi.core.title'],
             parameters['org.openstack.network.ip_version'],
             parameters['occi.network.address']
         )
         m.return_value = fake_net
         self.assertRaises(exception.OCCIMissingType,
                           self.controller.create, req)
Ejemplo n.º 14
0
 def test_create(self, m):
     test_networks = fakes.networks[fakes.tenants["foo"]["id"]]
     for test_net in test_networks:
         parameters = {"occi.core.title": test_net["name"],
                       "org.openstack.network.ip_version": 4,
                       "occi.network.address": "0.0.0.0",
                       }
         categories = {occi_network.NetworkResource.kind,
                       occi_network.ip_network}
         req = fakes.create_req_test_occi(parameters, categories)
         fake_net = fakes.fake_build_net(
             parameters['occi.core.title'],
             parameters['org.openstack.network.ip_version'],
             parameters['occi.network.address']
         )
         m.return_value = fake_net
         ret = self.controller.create(req)
         net = ret.resources.pop()
         self.assertIsInstance(net, occi_network.NetworkResource)
         self.assertEqual(net.title, test_net['name'])
Ejemplo n.º 15
0
 def test_create_fixed(self, mock_get_id, mock_cre_port):
     server_id = uuid.uuid4().hex
     net_id = uuid.uuid4().hex
     mock_get_id.side_effect = [('', net_id), ('', server_id)]
     ip = '8.0.0.0'
     parameters = {
         "occi.core.target": net_id,
         "occi.core.source": server_id,
     }
     categories = {network_link.NetworkInterface.kind}
     req = fake_nets.create_req_test_occi(parameters, categories)
     mock_cre_port.return_value = fake_nets.fake_build_link(
         net_id, server_id, ip
     )
     ret = self.controller.create(req)
     self.assertIsNotNone(ret)
     link = ret.resources.pop()
     self.assertIsInstance(link, os_network.OSNetworkInterface)
     self.assertIsInstance(link.source, compute.ComputeResource)
     self.assertIsInstance(link.target, network.NetworkResource)
     self.assertEqual(net_id, link.target.id)
     self.assertEqual(server_id, link.source.id)
     mock_cre_port.assert_called_with(mock.ANY, net_id, server_id)