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"])
Exemple #2
0
    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)
Exemple #3
0
 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)
Exemple #4
0
 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)
Exemple #5
0
    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")
Exemple #6
0
 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)
Exemple #8
0
 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)