summaryrefslogtreecommitdiffstats
path: root/test/units/cli/galaxy/test_execute_list.py
blob: 41fee0bfc7961ff6a73d76aff505c1e9f857d955 (plain)
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
# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
# Copyright (c) 2020 Ansible Project
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)

from __future__ import absolute_import, division, print_function
__metaclass__ = type

import pytest

from ansible import context
from ansible.cli.galaxy import GalaxyCLI


def test_execute_list_role_called(mocker):
    """Make sure the correct method is called for a role"""

    gc = GalaxyCLI(['ansible-galaxy', 'role', 'list'])
    context.CLIARGS._store = {'type': 'role'}
    execute_list_role_mock = mocker.patch('ansible.cli.galaxy.GalaxyCLI.execute_list_role', side_effect=AttributeError('raised intentionally'))
    execute_list_collection_mock = mocker.patch('ansible.cli.galaxy.GalaxyCLI.execute_list_collection', side_effect=AttributeError('raised intentionally'))
    with pytest.raises(AttributeError):
        gc.execute_list()

    assert execute_list_role_mock.call_count == 1
    assert execute_list_collection_mock.call_count == 0


def test_execute_list_collection_called(mocker):
    """Make sure the correct method is called for a collection"""

    gc = GalaxyCLI(['ansible-galaxy', 'collection', 'list'])
    context.CLIARGS._store = {'type': 'collection'}
    execute_list_role_mock = mocker.patch('ansible.cli.galaxy.GalaxyCLI.execute_list_role', side_effect=AttributeError('raised intentionally'))
    execute_list_collection_mock = mocker.patch('ansible.cli.galaxy.GalaxyCLI.execute_list_collection', side_effect=AttributeError('raised intentionally'))
    with pytest.raises(AttributeError):
        gc.execute_list()

    assert execute_list_role_mock.call_count == 0
    assert execute_list_collection_mock.call_count == 1