summaryrefslogtreecommitdiffstats
path: root/ipatests/test_webui/test_trust.py
blob: e308844d976950439434b67122581b4af849babf (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
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# Authors:
#   Petr Vobornik <pvoborni@redhat.com>
#
# Copyright (C) 2013  Red Hat
# see file 'COPYING' for use and warranty information
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

"""
Trust tests
"""

from ipatests.test_webui.ui_driver import UI_driver

ENTITY = 'trust'
CONFIG_ENTITY = 'trustconfig'

CONFIG_DATA = {
    'mod': [
        ['combobox', 'ipantfallbackprimarygroup', 'admins'],
    ]
}

CONFIG_DATA2 = {
    'mod': [
        ['combobox', 'ipantfallbackprimarygroup', 'Default SMB Group']
    ]
}


class test_trust(UI_driver):

    def __init__(self, *args, **kwargs):
        super(test_trust, self).__init__(args, kwargs)

        if not self.has_trusts():
            self.skip('Trusts not configured')

    def get_data(self):

        domain = self.config.get('ad_domain')
        admin = self.config.get('ad_admin')
        psw = self.config.get('ad_password')

        data = {
            'pkey': domain,
            'add': [
                ('textbox', 'realm_server', domain),
                ('textbox', 'realm_admin', admin),
                ('password', 'realm_passwd', psw),
            ],
            'mod': [
                ('multivalued', 'ipantsidblacklistincoming', [
                    ('del', 'S-1-5-18'),
                    ('add', 'S-1-5-21'),
                ]),
                ('multivalued', 'ipantsidblacklistoutgoing', [
                    ('del', 'S-1-5-18'),
                    ('add', 'S-1-5-21'),
                ]),
            ],
        }

        return data

    def test_crud(self):
        """
        Basic basic CRUD: trust

        Test establishing trust by using Windows admin credentials
        """
        self.init_app()
        data = self.get_data()
        self.basic_crud(ENTITY, data)

    def test_config_mod(self):
        self.init_app()
        self.navigate_to_entity(CONFIG_ENTITY)

        self.mod_record(CONFIG_ENTITY, CONFIG_DATA)
        self.mod_record(CONFIG_ENTITY, CONFIG_DATA2)