示例#1
0
def test_read_socket_from_environment_variables():
    fake_socket = 'unix:///path/to/endpoint.sock'
    os.environ['SPIFFE_ENDPOINT_SOCKET'] = fake_socket

    setter = ConfigSetter()

    assert setter.get_config().spiffe_endpoint_socket == fake_socket
示例#2
0
def test_socket_parameter_preponderance_over_environment_variable():
    fake_socket = 'unix:///path/to/endpoint.sock'
    os.environ['SPIFFE_ENDPOINT_SOCKET'] = 'env_var_socket'

    setter = ConfigSetter(spiffe_endpoint_socket=fake_socket)

    assert setter.get_config().spiffe_endpoint_socket == fake_socket
示例#3
0
    def __init__(self, spiffe_socket: str = None) -> None:
        """Creates a new Workload API Client.

        Args:
            spiffe_socket: Path to Workload API UDS. If not specified, the SPIFFE_ENDPOINT_SOCKET environment variable
                           must be set.

        Returns:
            DefaultWorkloadApiClient: New Workload API Client object.

        Raises:
            ArgumentError: If spiffe_socket_path is invalid or not provided and SPIFFE_ENDPOINT_SOCKET environment variable doesn't exist.
        """

        try:
            self._config = ConfigSetter(
                spiffe_endpoint_socket=spiffe_socket).get_config()
        except ArgumentError as e:
            raise ArgumentError(
                'Invalid DefaultWorkloadApiClient configuration: {}'.format(
                    str(e)))

        self._channel = self._get_spiffe_grpc_channel()
        self._spiffe_workload_api_stub = workload_pb2_grpc.SpiffeWorkloadAPIStub(
            self._channel)
    def __init__(self, spiffe_socket: str = None) -> None:
        """Creates a new Workload API Client.

        Args:
            spiffe_socket: Path to Workload API UDS. If
                not specified, the SPIFFE_ENDPOINT_SOCKET environment variable
                must be set.

        Returns:
            DefaultWorkloadApiClient: New Workload API Client object.

        Raises:
            ValueError: If spiffe_socket_path is invalid or not provided and
                SPIFFE_ENDPOINT_SOCKET environment variable doesn't exist.
        """

        try:
            self._config = ConfigSetter(
                spiffe_endpoint_socket=spiffe_socket).get_config()
        except ValueError:
            raise ValueError(
                'SPIFFE socket argument or environment variable invalid in DefaultWorkloadApiClient.'
            )
示例#5
0
def test_path_scheme_is_valid_tcp():
    fake_socket = 'tcp://127.0.0.1:8000'

    setter = ConfigSetter(spiffe_endpoint_socket=fake_socket)

    assert setter.get_config().spiffe_endpoint_socket == fake_socket
示例#6
0
def test_path_scheme_is_valid_unix():
    fake_socket = 'unix:///path/to/endpoint.sock'

    setter = ConfigSetter(spiffe_endpoint_socket=fake_socket)

    assert setter.get_config().spiffe_endpoint_socket == fake_socket
示例#7
0
def test_pass_socket_as_parameter():
    fake_socket = 'unix:///path/to/endpoint.sock'
    setter = ConfigSetter(spiffe_endpoint_socket=fake_socket)

    assert setter.get_config().spiffe_endpoint_socket == fake_socket
示例#8
0
def test_socket_must_be_set():
    with pytest.raises(ValueError) as exception:
        ConfigSetter()

    assert str(exception.value) == 'SPIFFE endpoint socket: socket must be set.'
示例#9
0
def test_invalid_endpoint_socket(test_input, expected):
    with pytest.raises(ValueError) as exception:
        ConfigSetter(spiffe_endpoint_socket=test_input)

    assert str(exception.value) == expected