def _test_payload(self, sot, metadata, content_type): content_type = "some/type" sot = secret.Secret(id="id", payload_content_type=content_type) metadata_response = mock.Mock() metadata_response.json = mock.Mock(return_value=metadata) payload_response = mock.Mock() payload = "secret info" payload_response.text = payload sess = mock.Mock() sess.get = mock.Mock(side_effect=[metadata_response, payload_response]) rv = sot.get(sess) sess.get.assert_has_calls([ mock.call("secrets/id", endpoint_filter=sot.service), mock.call("secrets/id/payload", endpoint_filter=sot.service, headers={"Accept": content_type}) ]) self.assertEqual(rv.payload, payload) self.assertEqual(rv.status, metadata["status"])
def test_basic(self): sot = secret.Secret() self.assertIsNone(sot.resource_key) self.assertEqual('secrets', sot.resources_key) self.assertEqual('/secrets', sot.base_path) self.assertEqual('key-manager', sot.service.service_type) self.assertTrue(sot.allow_create) self.assertTrue(sot.allow_get) self.assertTrue(sot.allow_update) self.assertTrue(sot.allow_delete) self.assertTrue(sot.allow_list) self.assertDictEqual({"name": "name", "mode": "mode", "bits": "bits", "secret_type": "secret_type", "acl_only": "acl_only", "created": "created", "updated": "updated", "expiration": "expiration", "sort": "sort", "algorithm": "alg", "limit": "limit", "marker": "marker"}, sot._query_mapping._mapping)
def test_get_with_payload_from_content_types(self): content_type = "some/type" metadata = { "status": "fine", "content_types": { "default": content_type } } sot = secret.Secret(id="id") self._test_payload(sot, metadata, content_type)
def test_basic(self): sot = secret.Secret() self.assertEqual('secret', sot.resource_key) self.assertEqual('secrets', sot.resources_key) self.assertEqual('/secrets', sot.base_path) self.assertEqual('key-manager', sot.service.service_type) self.assertTrue(sot.allow_create) self.assertTrue(sot.allow_retrieve) self.assertTrue(sot.allow_update) self.assertTrue(sot.allow_delete) self.assertTrue(sot.allow_list)
def test_get_no_payload(self): sot = secret.Secret(id="id") sess = mock.Mock() rv = mock.Mock() return_body = {"status": "cool"} rv.json = mock.Mock(return_value=return_body) sess.get = mock.Mock(return_value=rv) sot.get(sess) sess.get.assert_called_once_with("secrets/id")
def test_make_it(self): sot = secret.Secret(EXAMPLE) self.assertEqual(EXAMPLE['algorithm'], sot.algorithm) self.assertEqual(EXAMPLE['bit_length'], sot.bit_length) self.assertEqual(EXAMPLE['content_types'], sot.content_types) self.assertEqual(EXAMPLE['expiration'], sot.expires_at) self.assertEqual(EXAMPLE['mode'], sot.mode) self.assertEqual(EXAMPLE['name'], sot.name) self.assertEqual(EXAMPLE['secret_ref'], sot.secret_ref) self.assertEqual(EXAMPLE['status'], sot.status) self.assertEqual(EXAMPLE['updated'], sot.updated_at) self.assertEqual(EXAMPLE['secret_ref'], sot.id)
def test_make_it(self): sot = secret.Secret(EXAMPLE) self.assertEqual(EXAMPLE['algorithm'], sot.algorithm) self.assertEqual(EXAMPLE['bit_length'], sot.bit_length) self.assertEqual(EXAMPLE['content_types'], sot.content_types) dt = datetime.datetime(2017, 3, 9, 12, 14, 57, 233772).replace(tzinfo=None) self.assertEqual(dt, sot.expires_at.replace(tzinfo=None)) self.assertEqual(EXAMPLE['mode'], sot.mode) self.assertEqual(EXAMPLE['name'], sot.name) self.assertEqual(EXAMPLE['secret_ref'], sot.secret_ref) self.assertEqual(EXAMPLE['status'], sot.status) dt = datetime.datetime(2015, 3, 9, 12, 15, 57, 233772).replace(tzinfo=None) self.assertEqual(dt, sot.updated_at.replace(tzinfo=None)) self.assertEqual(EXAMPLE['secret_ref'], sot.id)
def test_get_with_payload_from_argument(self): metadata = {"status": "great"} content_type = "some/type" sot = secret.Secret(id="id", payload_content_type=content_type) self._test_payload(sot, metadata, content_type)