def test_do_not_filter_unshared_requests(self): result = trusted.filter_factory({'enabled': 'true'})(self.app) pkg = 'wafflehaus.neutron.shared_network.trusted.TrustedSharedNetwork' with patch(pkg + '._sanitize_shared_nets', self.default_mock) as mock: resp = result.__call__.request('/v2.0/networks', method='GET') self.assertFalse(mock.called) self.assertEqual(resp, self.app)
def test_do_not_filter_unshared_requests(self): result = trusted.filter_factory({"enabled": "true"})(self.app) pkg = "wafflehaus.neutron.shared_network.trusted.TrustedSharedNetwork" with patch(pkg + "._sanitize_shared_nets", self.default_mock) as mock: resp = result.__call__.request("/v2.0/networks", method="GET") self.assertFalse(mock.called) self.assertEqual(resp, self.app)
def test_do_call_on_correct_request(self): result = trusted.filter_factory({"enabled": "true"})(self.app) pkg = "wafflehaus.neutron.shared_network.trusted.TrustedSharedNetwork" with patch(pkg + "._sanitize_shared_nets", self.default_mock) as mock: result.__call__.request("/v2.0/networks?shared=true", method="GET") self.assertTrue(mock.called) result.__call__.request("/v2.0/networks.json?shared=true", method="GET") self.assertTrue(mock.called) result.__call__.request("/v2.0/networks.xml?shared=true", method="GET") self.assertTrue(mock.called)
def test_do_call_on_correct_request(self): result = trusted.filter_factory({'enabled': 'true'})(self.app) pkg = 'wafflehaus.neutron.shared_network.trusted.TrustedSharedNetwork' with patch(pkg + '._sanitize_shared_nets', self.default_mock) as mock: result.__call__.request('/v2.0/networks?shared=true', method='GET') self.assertTrue(mock.called) result.__call__.request('/v2.0/networks.json?shared=true', method='GET') self.assertTrue(mock.called) result.__call__.request('/v2.0/networks.xml?shared=true', method='GET') self.assertTrue(mock.called)
def test_runtime_override(self): self.set_reconfigure() result = trusted.filter_factory({"enabled": "true"})(self.app) headers = {"X_WAFFLEHAUS_TRUSTEDSHAREDNETWORK_ENABLED": False} pkg = "wafflehaus.neutron.shared_network.trusted.TrustedSharedNetwork" with patch(pkg + "._sanitize_shared_nets", self.default_mock) as mock: result.__call__.request("/v2.0/networks?shared=true", method="GET", headers=headers) self.assertFalse(mock.called) result.__call__.request("/v2.0/networks.json?shared=true", method="GET", headers=headers) self.assertFalse(mock.called) result.__call__.request("/v2.0/networks.xml?shared=true", method="GET", headers=headers) self.assertFalse(mock.called)
def test_do_not_modify_response_with_shared_nets_whitelisted_mixed2(self): app = FakeWebApp(response=self.create_response(1, 0, 1, 0)) app_networks = json.loads(app.body).get("networks") self.assertEqual(2, len(app_networks)) self.assertTrue(all(n.get("shared") for n in app_networks)) result = trusted.filter_factory(self.trusted_conf)(app) resp = result.__call__.request("/v2.0/networks?shared=true", method="GET", headers=self.headers_whitelist1) self.assertTrue(isinstance(resp, webob.response.Response)) self.assertNotEqual(app.body, resp.body) body_networks = json.loads(resp.body).get("networks") self.assertEqual(2, len(body_networks)) self.assertTrue(all(n.get("shared") for n in body_networks))
def test_do_modify_response_with_shared_nets(self): app = FakeWebApp(response=self.create_response(1, 1, 0, 0)) app_networks = json.loads(app.body).get("networks") self.assertEqual(2, len(app_networks)) self.assertTrue(any(n.get("shared") for n in app_networks)) result = trusted.filter_factory({"enabled": "true"})(app) resp = result.__call__.request("/v2.0/networks?shared=true", method="GET") self.assertTrue(isinstance(resp, webob.response.Response)) self.assertNotEqual(app.body, resp.body) body_networks = json.loads(resp.body).get("networks") self.assertEqual(1, len(body_networks)) self.assertFalse(any(n.get("shared") for n in body_networks))
def test_do_modify_response_with_shared_nets(self): app = FakeWebApp(response=self.create_response(1, 1, 0, 0)) app_networks = json.loads(app.body).get("networks") self.assertEqual(2, len(app_networks)) self.assertTrue(any(n.get('shared') for n in app_networks)) result = trusted.filter_factory({'enabled': 'true'})(app) resp = result.__call__.request('/v2.0/networks?shared=true', method='GET') self.assertTrue(isinstance(resp, webob.response.Response)) self.assertNotEqual(app.body, resp.body) body_networks = json.loads(resp.body).get("networks") self.assertEqual(1, len(body_networks)) self.assertFalse(any(n.get('shared') for n in body_networks))
def test_override_trusted_conf_with_blacklist_multiples(self): app = FakeWebApp(response=self.create_response(0, 2, 2, 0)) app_networks = json.loads(app.body).get("networks") self.assertEqual(4, len(app_networks)) self.assertTrue(any(n.get("shared") for n in app_networks)) result = trusted.filter_factory(self.trusted_confs)(app) resp = result.__call__.request("/v2.0/networks?shared=true", method="GET", headers=self.headers_blacklist2) self.assertTrue(isinstance(resp, webob.response.Response)) self.assertNotEqual(app.body, resp.body) body_networks = json.loads(resp.body).get("networks") self.assertEqual(2, len(body_networks)) self.assertFalse(any(n.get("shared") for n in body_networks)) self.assertFalse(any(n.get("id") == self.trusted_id1 for n in body_networks)) self.assertFalse(any(n.get("id") == self.trusted_id2 for n in body_networks))
def test_do_not_modify_response_with_shared_nets_whitelisted_mixed2(self): app = FakeWebApp(response=self.create_response(1, 0, 1, 0)) app_networks = json.loads(app.body).get("networks") self.assertEqual(2, len(app_networks)) self.assertTrue(all(n.get('shared') for n in app_networks)) result = trusted.filter_factory(self.trusted_conf)(app) resp = result.__call__.request('/v2.0/networks?shared=true', method='GET', headers=self.headers_whitelist1) self.assertTrue(isinstance(resp, webob.response.Response)) self.assertNotEqual(app.body, resp.body) body_networks = json.loads(resp.body).get("networks") self.assertEqual(2, len(body_networks)) self.assertTrue(all(n.get('shared') for n in body_networks))
def test_runtime_override(self): self.set_reconfigure() result = trusted.filter_factory({'enabled': 'true'})(self.app) headers = {'X_WAFFLEHAUS_TRUSTEDSHAREDNETWORK_ENABLED': False} pkg = 'wafflehaus.neutron.shared_network.trusted.TrustedSharedNetwork' with patch(pkg + '._sanitize_shared_nets', self.default_mock) as mock: result.__call__.request('/v2.0/networks?shared=true', method='GET', headers=headers) self.assertFalse(mock.called) result.__call__.request('/v2.0/networks.json?shared=true', method='GET', headers=headers) self.assertFalse(mock.called) result.__call__.request('/v2.0/networks.xml?shared=true', method='GET', headers=headers) self.assertFalse(mock.called)
def test_override_trusted_conf_with_blacklist_multiples(self): app = FakeWebApp(response=self.create_response(0, 2, 2, 0)) app_networks = json.loads(app.body).get("networks") self.assertEqual(4, len(app_networks)) self.assertTrue(any(n.get('shared') for n in app_networks)) result = trusted.filter_factory(self.trusted_confs)(app) resp = result.__call__.request('/v2.0/networks?shared=true', method='GET', headers=self.headers_blacklist2) self.assertTrue(isinstance(resp, webob.response.Response)) self.assertNotEqual(app.body, resp.body) body_networks = json.loads(resp.body).get("networks") self.assertEqual(2, len(body_networks)) self.assertFalse(any(n.get('shared') for n in body_networks)) self.assertFalse( any(n.get('id') == self.trusted_id1 for n in body_networks)) self.assertFalse( any(n.get('id') == self.trusted_id2 for n in body_networks))
def test_default_intance_create(self): self.app = FakeWebApp(response=self.create_response(0, 1, 0, 0)) result = trusted.filter_factory({"enabled": "true"})(self.app) self.assertIsNotNone(result)
def test_default_intance_create(self): self.app = FakeWebApp(response=self.create_response(0, 1, 0, 0)) result = trusted.filter_factory({'enabled': 'true'})(self.app) self.assertIsNotNone(result)