File: test_osc_plugin.py

package info (click to toggle)
python-pankoclient 1.2.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 320 kB
  • sloc: python: 1,228; makefile: 20
file content (73 lines) | stat: -rw-r--r-- 2,678 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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#   Copyright 2016 Huawei, Inc. All rights reserved.
#
#   Licensed under the Apache License, Version 2.0 (the "License"); you may
#   not use this file except in compliance with the License. You may obtain
#   a copy of the License at
#
#        http://www.apache.org/licenses/LICENSE-2.0
#
#   Unless required by applicable law or agreed to in writing, software
#   distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
#   WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
#   License for the specific language governing permissions and limitations
#   under the License.
#

from unittest import mock

from osc_lib.tests import fakes

from pankoclient import osc as plugin
from pankoclient.tests.unit import base


class TestEventPlugin(base.TestBase):

    @mock.patch('pankoclient.v2.client.Client')
    def test_make_client_with_session(self, panko_client):
        instance = mock.Mock()
        instance._api_version = {
            plugin.API_NAME: plugin.DEFAULT_EVENT_API_VERSION}
        instance.get_endpoint_for_service_type.return_value = mock.sentinel.ep
        instance.region_name = fakes.REGION_NAME
        instance.interface = fakes.INTERFACE
        instance.auth.auth_url = fakes.AUTH_URL
        instance.auth_ref.username = fakes.USERNAME
        instance.session = 'fake_session'

        plugin.make_client(instance)

        instance.get_endpoint_for_service_type.assert_called_once_with(
            plugin.API_NAME,
            region_name=fakes.REGION_NAME,
            interface=fakes.INTERFACE,
        )
        panko_client.assert_called_once_with(
            endpoint_override=mock.sentinel.ep,
            session='fake_session',
        )

    @mock.patch('pankoclient.v2.client.Client')
    def test_make_client_no_session(self, panko_client):
        instance = mock.Mock()
        instance._api_version = {
            plugin.API_NAME: plugin.DEFAULT_EVENT_API_VERSION}
        instance.get_endpoint_for_service_type.return_value = mock.sentinel.ep
        instance.region_name = fakes.REGION_NAME
        instance.interface = fakes.INTERFACE
        instance.auth.auth_url = fakes.AUTH_URL
        instance.auth_ref.username = fakes.USERNAME
        instance.auth_ref.auth_token = fakes.AUTH_TOKEN
        instance.session = None

        plugin.make_client(instance)

        instance.get_endpoint_for_service_type.assert_called_once_with(
            plugin.API_NAME,
            region_name=fakes.REGION_NAME,
            interface=fakes.INTERFACE,
        )
        panko_client.assert_called_once_with(
            endpoint_override=mock.sentinel.ep,
            session=None
        )