

def test_present(self):
    '\n            Test to ensure that a group is present\n        '
    ret = {
        'name': 'salt',
        'changes': {
            
        },
        'result': True,
        'comment': {
            
        },
    }
    ret.update({
        'comment': 'Error: Conflicting options "members" with "addusers" and/or "delusers" can not be used together. ',
        'result': None,
    })
    self.assertDictEqual(group.present('salt', delusers=True, members=True), self)
    ret.update({
        'comment': 'Error. Same user(s) can not be added and deleted simultaneously',
    })
    self.assertDictEqual(group.present('salt', addusers=['a'], delusers=['a']), ret)
    ret.update({
        'comment': 'The following group attributes are set to be changed:\nkey1: value1\nkey0: value0\n',
    })
    mock = MagicMock(side_effect=[{
        'key0': 'value0',
        'key1': 'value1',
    }, False, False, False])
    with patch.object(group, '_changes', mock):
        with patch.dict(group.__opts__, {
            'test': True,
        }):
            self.assertDictEqual(group.present('salt'), ret)
            ret.update({
                'comment': 'Group salt set to be added',
            })
            self.assertDictEqual(group.present('salt'), ret)
        with patch.dict(group.__opts__, {
            'test': False,
        }):
            mock = MagicMock(return_value=[{
                'gid': 1,
                'name': 'stack',
            }])
            with patch.dict(group.__salt__, {
                'group.getent': mock,
            }):
                ret.update({
                    'result': False,
                    'comment': 'Group salt is not present but gid 1 is already taken by group stack',
                })
                self.assertDictEqual(group.present('salt', 1), ret)
                mock = MagicMock(return_value=False)
                with patch.dict(group.__salt__, {
                    'group.add': mock,
                }):
                    ret.update({
                        'comment': 'Failed to create new group salt',
                    })
                    self.assertDictEqual(group.present('salt'), ret)

dataset/ETHPy150Open saltstack/salt/tests/unit/states/group_test.py GroupTestCase.test_present/VarMisuse@82/164 `ret`->`self`