File: test_wrapping.py

package info (click to toggle)
python-hvac 2.3.0-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,800 kB
  • sloc: python: 29,360; makefile: 42; sh: 14
file content (45 lines) | stat: -rw-r--r-- 1,766 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import logging
from unittest import TestCase
from parameterized import parameterized, param
from tests.utils.hvac_integration_test_case import HvacIntegrationTestCase


class TestWrapping(HvacIntegrationTestCase, TestCase):
    TEST_AUTH_METHOD_TYPE = "approle"
    TEST_AUTH_METHOD_PATH = "test-approle"

    def test_unwrap(self):
        self.client.sys.enable_auth_method(
            method_type=self.TEST_AUTH_METHOD_TYPE,
            path=self.TEST_AUTH_METHOD_PATH,
        )

        self.client.write(
            path=f"auth/{self.TEST_AUTH_METHOD_PATH}/role/testrole",
        )
        result = self.client.write(
            path="auth/{path}/role/testrole/secret-id".format(
                path=self.TEST_AUTH_METHOD_PATH
            ),
            wrap_ttl="10s",
        )
        self.assertIn("token", result["wrap_info"])

        unwrap_response = self.client.sys.unwrap(result["wrap_info"]["token"])
        logging.debug("unwrap_response: %s" % unwrap_response)
        self.assertIn(member="secret_id_accessor", container=unwrap_response["data"])
        self.assertIn(member="secret_id", container=unwrap_response["data"])

    @parameterized.expand(
        [
            param("default params"),
            param("test payload and default TTL", payload={"test": "test"}),
            param("default payload and TTL 120", ttl=120),
            param("test payload and TTL 120", payload={"test": "test"}, ttl=120),
        ]
    )
    def test_wrap(self, label, payload=None, ttl=60):
        wrap_response = self.client.sys.wrap(payload=payload, ttl=ttl)
        logging.debug("wrap_response: %s" % wrap_response)
        self.assertIn("token", wrap_response["wrap_info"])
        self.assertEqual(wrap_response["wrap_info"]["ttl"], ttl)