def test_parse_no_add_on_2(self):
        flist = cli_mock.create_file('host1\nhost2\nleft2')
        ulist = cli_mock.create_file('user1\nuser2\nuser3\n')
        sys.argv = [
            'atest', '-U', ulist.name, '--kill-on-failure', '-M', flist.name
        ]
        self.atest.parser.add_option('-M', '--mlist', type='string')
        self.atest.parser.add_option('-U', '--ulist', type='string')
        self.atest.parser.add_option('-u', '--user', type='string')
        host_info = topic_common.item_parse_info(attribute_name='hosts',
                                                 filename_option='mlist',
                                                 use_leftover=True)
        user_info = topic_common.item_parse_info(attribute_name='users',
                                                 inline_option='user',
                                                 filename_option='ulist')
        (options, leftover) = self.atest.parse([host_info, user_info])
        self.assertEqualNoOrder(self.atest.hosts, ['left2', 'host1', 'host2'])
        self.assertEqualNoOrder(self.atest.users, ['user1', 'user2', 'user3'])

        self.assertEqual(
            {
                'mlist': flist.name,
                'ulist': ulist.name,
                'user': None,
                'web_server': None,
                'parse': False,
                'parse_delim': '|',
                'kill_on_failure': True,
                'verbose': False,
                'debug': False
            }, options)
        self.assertEqual(leftover, [])
        flist.clean()
        ulist.clean()
    def test_parse_no_add_on_2(self):
        flist = cli_mock.create_file('host1\nhost2\nleft2')
        ulist = cli_mock.create_file('user1\nuser2\nuser3\n')
        sys.argv = ['atest', '-U', ulist.name,
                    '--kill-on-failure', '-M', flist.name]
        self.atest.parser.add_option('-M', '--mlist', type='string')
        self.atest.parser.add_option('-U', '--ulist', type='string')
        self.atest.parser.add_option('-u', '--user', type='string')
        host_info = topic_common.item_parse_info(attribute_name='hosts',
                                                 filename_option='mlist',
                                                 use_leftover=True)
        user_info = topic_common.item_parse_info(attribute_name='users',
                                                 inline_option='user',
                                                 filename_option='ulist')
        (options, leftover) = self.atest.parse([host_info, user_info])
        self.assertEqualNoOrder(self.atest.hosts,
                                ['left2', 'host1', 'host2'])
        self.assertEqualNoOrder(self.atest.users,
                                ['user1', 'user2', 'user3'])

        self.assertEqual({'mlist': flist.name,
                          'ulist': ulist.name,
                          'user': None,
                          'web_server': None,
                          'parse': False,
                          'parse_delim': '|',
                          'kill_on_failure': True,
                          'verbose': False,
                          'debug': False}, options)
        self.assertEqual(leftover, [])
        flist.clean()
        ulist.clean()
示例#3
0
    def test_parse_no_add_on_2(self):
        flist = cli_mock.create_file("host1\nhost2\nleft2")
        ulist = cli_mock.create_file("user1\nuser2\nuser3\n")
        sys.argv = ["atest", "-U", ulist.name, "--kill-on-failure", "-M", flist.name]
        self.atest.parser.add_option("-M", "--mlist", type="string")
        self.atest.parser.add_option("-U", "--ulist", type="string")
        self.atest.parser.add_option("-u", "--user", type="string")
        host_info = topic_common.item_parse_info(attribute_name="hosts", filename_option="mlist", use_leftover=True)
        user_info = topic_common.item_parse_info(attribute_name="users", inline_option="user", filename_option="ulist")
        (options, leftover) = self.atest.parse([host_info, user_info])
        self.assertEqualNoOrder(self.atest.hosts, ["left2", "host1", "host2"])
        self.assertEqualNoOrder(self.atest.users, ["user1", "user2", "user3"])

        self.assertEqual(
            {
                "mlist": flist.name,
                "ulist": ulist.name,
                "user": None,
                "web_server": None,
                "parse": False,
                "parse_delim": "|",
                "kill_on_failure": True,
                "verbose": False,
                "debug": False,
            },
            options,
        )
        self.assertEqual(leftover, [])
        flist.clean()
        ulist.clean()
    def test_parse_add_on(self):
        flist = cli_mock.create_file('host1\nhost2\nleft2')
        sys.argv = [
            'atest', '--web', 'fooweb', '--parse', '--kill-on-failure',
            'left1', 'left2', '-M', flist.name
        ]
        self.atest.parser.add_option('-M', '--mlist', type='string')
        item_info = topic_common.item_parse_info(attribute_name='hosts',
                                                 filename_option='mlist',
                                                 use_leftover=True)
        (options, leftover) = self.atest.parse([item_info])
        self.assertEqualNoOrder(self.atest.hosts,
                                ['left1', 'left2', 'host1', 'host2'])

        self.assertEqual(
            {
                'mlist': flist.name,
                'web_server': 'fooweb',
                'parse': True,
                'parse_delim': '|',
                'kill_on_failure': True,
                'verbose': False,
                'debug': False
            }, options)
        self.assertEqual(leftover, [])
        flist.clean()
示例#5
0
    def test_parse_no_add_on(self):
        flist = cli_mock.create_file("host1\nhost2\nleft2")
        sys.argv = [
            "atest",
            "--web",
            "fooweb",
            "--parse",
            "-g",
            "--kill-on-failure",
            "left1",
            "left2",
            "-M",
            flist.name,
        ]
        self.atest.parser.add_option("-M", "--mlist", type="string")
        item_info = topic_common.item_parse_info(attribute_name="hosts", filename_option="mlist")
        (options, leftover) = self.atest.parse([item_info])
        self.assertEqualNoOrder(self.atest.hosts, ["left2", "host1", "host2"])

        self.assertEqual(
            {
                "mlist": flist.name,
                "web_server": "fooweb",
                "parse": True,
                "parse_delim": "|",
                "kill_on_failure": True,
                "verbose": False,
                "debug": True,
            },
            options,
        )
        self.assertEqual(leftover, ["left1", "left2"])
        flist.clean()
示例#6
0
 def test_parse_with_users(self):
     ul = user.user_list()
     ufile = cli_mock.create_file('user0\nuser3\nuser4\n')
     sys.argv = ['atest', 'user1', '--ulist', ufile.name, 'user3']
     (options, leftover) = ul.parse()
     self.assertEqualNoOrder(['user0', 'user1', 'user3', 'user4'], ul.users)
     self.assertEqual(leftover, [])
     ufile.clean()
示例#7
0
 def test_parse_list_acl(self):
     acl_list = acl.acl_list()
     afile = cli_mock.create_file('acl0\nacl3\nacl4\n')
     sys.argv = ['atest', 'acl0', 'acl1,acl2',
                 '--alist', afile.name, 'acl5', 'acl6,acl7']
     acl_list.parse()
     self.assertEqualNoOrder(['acl%s' % x for x in range(8)],
                             acl_list.acls)
     afile.clean()
示例#8
0
 def test_parse_list_acl(self):
     acl_list = acl.acl_list()
     afile = cli_mock.create_file('acl0\nacl3\nacl4\n')
     sys.argv = ['atest', 'acl0', 'acl1,acl2',
                 '--alist', afile.name, 'acl5', 'acl6,acl7']
     acl_list.parse()
     self.assertEqualNoOrder(['acl%s' % x for x in range(8)],
                             acl_list.acls)
     afile.clean()
 def test_parse_with_users(self):
     ul = user.user_list()
     ufile = cli_mock.create_file('user0\nuser3\nuser4\n')
     sys.argv = ['atest', 'user1', '--ulist', ufile.name, 'user3']
     (options, leftover) = ul.parse()
     self.assertEqualNoOrder(['user0', 'user1', 'user3', 'user4'],
                             ul.users)
     self.assertEqual(leftover, [])
     ufile.clean()
示例#10
0
 def test_execute_list_all_with_user_verbose(self):
     ufile = cli_mock.create_file('user0 user1\n')
     self.run_cmd(argv=['atest', 'user', 'list', '--ulist', ufile.name,
                        '-v'],
                  rpcs=[('get_users', {'login__in': ['user0', 'user1']},
                         True,
                         [{u'access_level': 2,
                           u'login': u'user0',
                           u'id': 3},
                          {u'access_level': 5,
                           u'login': u'user1',
                           u'id': 4}])],
                  out_words_ok=['user0', 'user1', '3', '4', '5'])
     ufile.clean()
示例#11
0
 def test_acl_delete_multiple_acl_ok(self):
     alist = cli_mock.create_file('acl2\nacl1')
     self.run_cmd(argv=[
         'atest', 'acl', 'delete', 'acl0', 'acl1', '--alist', alist.name
     ],
                  rpcs=[('delete_acl_group', {
                      'id': 'acl0'
                  }, True, None),
                        ('delete_acl_group', {
                            'id': 'acl1'
                        }, True, None),
                        ('delete_acl_group', {
                            'id': 'acl2'
                        }, True, None)],
                  out_words_ok=['acl0', 'acl1', 'acl2', 'Deleted'])
     alist.clean()
示例#12
0
 def test_acl_delete_multiple_acl_ok(self):
     alist = cli_mock.create_file('acl2\nacl1')
     self.run_cmd(argv=['atest', 'acl', 'delete',
                        'acl0', 'acl1', '--alist', alist.name],
                  rpcs=[('delete_acl_group',
                        {'id': 'acl0'},
                        True,
                        None),
                        ('delete_acl_group',
                         {'id': 'acl1'},
                         True,
                         None),
                        ('delete_acl_group',
                         {'id': 'acl2'},
                         True,
                         None)],
                  out_words_ok=['acl0', 'acl1', 'acl2', 'Deleted'])
     alist.clean()
    def test_parse_no_add_on(self):
        flist = cli_mock.create_file('host1\nhost2\nleft2')
        sys.argv = ['atest', '--web', 'fooweb', '--parse', '-g',
                    '--kill-on-failure', 'left1', 'left2', '-M', flist.name]
        self.atest.parser.add_option('-M', '--mlist', type='string')
        item_info = topic_common.item_parse_info(attribute_name='hosts',
                                                 filename_option='mlist')
        (options, leftover) = self.atest.parse([item_info])
        self.assertEqualNoOrder(self.atest.hosts,
                                ['left2', 'host1', 'host2'])

        self.assertEqual({'mlist': flist.name,
                          'web_server': 'fooweb',
                          'parse': True,
                          'parse_delim': '|',
                          'kill_on_failure': True,
                          'verbose': False,
                          'debug': True}, options)
        self.assertEqual(leftover, ['left1', 'left2'])
        flist.clean()
示例#14
0
 def test_acl_delete_multiple_acl_bad(self):
     alist = cli_mock.create_file('acl2\nacl1')
     self.run_cmd(argv=[
         'atest', 'acl', 'delete', 'acl0', 'acl1', '--alist', alist.name
     ],
                  rpcs=[('delete_acl_group', {
                      'id': 'acl0'
                  }, True, None),
                        ('delete_acl_group', {
                            'id': 'acl1'
                        }, False, 'DoesNotExist: acl_group '
                         'matching query does not exist.'),
                        ('delete_acl_group', {
                            'id': 'acl2'
                        }, True, None)],
                  out_words_ok=['acl0', 'acl2', 'Deleted'],
                  err_words_ok=[
                      'acl1', 'delete_acl_group', 'DoesNotExist',
                      'acl_group', 'matching'
                  ])
     alist.clean()
示例#15
0
 def test_acl_delete_multiple_acl_bad(self):
     alist = cli_mock.create_file('acl2\nacl1')
     self.run_cmd(argv=['atest', 'acl', 'delete',
                        'acl0', 'acl1', '--alist', alist.name],
                  rpcs=[('delete_acl_group',
                        {'id': 'acl0'},
                        True,
                        None),
                        ('delete_acl_group',
                         {'id': 'acl1'},
                         False,
                         'DoesNotExist: acl_group '
                         'matching query does not exist.'),
                        ('delete_acl_group',
                         {'id': 'acl2'},
                         True,
                         None)],
                  out_words_ok=['acl0', 'acl2', 'Deleted'],
                  err_words_ok=['acl1', 'delete_acl_group',
                                'DoesNotExist', 'acl_group',
                                'matching'])
     alist.clean()
示例#16
0
 class opt(object):
     flist_obj = cli_mock.create_file('a,b,c\nd,e\nf\n')
     flist = flist_obj.name
示例#17
0
 class opt(object):
     flist_obj = cli_mock.create_file('f\nc\na\n')
     flist = flist_obj.name
     inline = 'a b,c,d e'
示例#18
0
 class opt(object):
     flist_obj = cli_mock.create_file('\na\nb\n\nc\n')
     flist = flist_obj.name
示例#19
0
 class opt(object):
     flist_obj = cli_mock.create_file('a, b c\nd,e, \nf,\ng h,i ,')
     flist = flist_obj.name
示例#20
0
 class opt(object):
     flist_obj = cli_mock.create_file('a\nb\\\\\\,c\\,d\nef\\\\,g')
     flist = flist_obj.name
示例#21
0
 class opt(object):
     flist_obj = cli_mock.create_file('')
     flist = flist_obj.name
示例#22
0
 class opt(object):
     flist_obj = cli_mock.create_file('a b c\nd,e\nf\ng, \n, ,,')
     flist = flist_obj.name
     inline = 'a b,c,d h, ,  ,,  '
示例#23
0
 class opt(object):
     flist_obj = cli_mock.create_file('a\\,b\\,c\nd,e\nf\ng')
     flist = flist_obj.name
     inline = 'a\\,b\\,c,d h'
示例#24
0
 class opt(object):
     flist_obj = cli_mock.create_file(
         'a\\,b\\\\\\,c\nd,e\nf,ghi, ,, j,')
     flist = flist_obj.name
     inline = 'a\\,b\\\\\\,c,d h,ijk'