Exemple #1
0
def main(gvar, user_secret):
    if not gvar:
        gvar = {}
        if len(argv) > 1:
            initialize_csv2_request(gvar, argv[0], selections=argv[1])
        else:
            initialize_csv2_request(gvar, argv[0])

    execute_csv2_request(gvar,
                         0,
                         None,
                         None,
                         '/job/list/',
                         form_data={'group': 'vm-test-group'},
                         list='job_list',
                         filter={
                             'group_name': 'vm-test-group',
                             'global_job_id': 'csv2-dev2.heprc.uvic.ca#1.0#1'
                         },
                         values={
                             'hold_job_reason': None,
                             'request_ram': 2000,
                             'js_idle': 0,
                             'held_reason': 'vm-testing',
                             'instance_type': 'vm-test-instance',
                             'request_disk': '14.3051',
                             'js_held': 1,
                             'request_cpus': 1,
                             'keep_alive': '0',
                             'js_completed': 0,
                             'js_running': 0,
                             'js_other': 0,
                             'job_status': 5,
                             'user': '******',
                             'requirements': 'group_name is "vm-test-group"',
                             'cloud_name': None,
                             'proc_id': 0,
                             'target_clouds': None,
                             'job_priority': 10,
                             'cluster_id': 1
                         })

    execute_csv2_command(gvar, 0, None, 'Rows: 1', [
        'cloudscheduler', 'job', 'list', '-g', 'vm-test-group', '-s',
        'unit-test'
    ])
def main(gvar, user_secret):
    if not gvar:
        gvar = {}
        if len(argv) > 1:
            initialize_csv2_request(gvar, argv[0], selections=argv[1])
        else:
            initialize_csv2_request(gvar, argv[0])

    execute_csv2_command(
        gvar, 1, None, 'The following command line arguments were unrecognized',
        ['cloudscheduler', 'group', 'list', '-xx', 'yy']
    )

    execute_csv2_command(
        gvar, 1, None, 'The following command line arguments were invalid: job-cores',
        ['cloudscheduler', 'group', 'list', '-jc', 'invalid-unit-test']
    )

    execute_csv2_command(
        gvar, 1, None, 'Error: the specified server "invalid-unit-test" does not exist in your defaults.',
        ['cloudscheduler', 'group', 'list', '-s', 'invalid-unit-test']
    )

    execute_csv2_command(
        gvar, 1, None, 'You are not authorized to access object "group";',
        ['cloudscheduler', 'group', 'list', '-s', 'unit-test-un']
    )

    execute_csv2_command(
        gvar, 0, None, None,
        ['cloudscheduler', 'group', 'list', '-s', 'unit-test']
    )

    execute_csv2_command(
        gvar, 0, None, 'Help requested for "cloudscheduler group list".',
        ['cloudscheduler', 'group', 'list', '-h']
    )

    execute_csv2_command(
        gvar, 0, None, 'General Commands Manual',
        ['cloudscheduler', 'group', 'list', '-H']
    )

    execute_csv2_command(
        gvar, 0, None, 'Expose API requested',
        ['cloudscheduler', 'group', 'list', '-xA']
    )

    execute_csv2_command(
        gvar, 1, None, 'cannot switch to invalid group "invalid-unit-test".',
        ['cloudscheduler', 'group', 'list', '-g', 'invalid-unit-test']
    )

    execute_csv2_command(
        gvar, 0, None, 'Server: unit-test, Active User: {}, Active Group: {}'.format(ut_id(gvar, '')[:-1], ut_id(gvar, 'clg1')),
        ['cloudscheduler', 'group', 'list', '-g', ut_id(gvar, 'clg1')]
    )

    execute_csv2_command(
        gvar, 0, None, 'Server: unit-test, Active User: {}, Active Group: {}'.format(ut_id(gvar, '')[:-1], ut_id(gvar, 'clg1')),
        ['cloudscheduler', 'group', 'list']
    )

    execute_csv2_command(
        gvar, 0, None, 'Rows: 0',
        ['cloudscheduler', 'group', 'list', '-gn', 'invalid-unit-test']
    )

    execute_csv2_command(
        gvar, 0, None, 'Rows: 1',
        ['cloudscheduler', 'group', 'list', '-gn', ut_id(gvar, 'clg1')]
    )

    execute_csv2_command(
        gvar, 0, None, None,
        ['cloudscheduler', 'group', 'list', '-ok'],
        list='Groups', columns=['Group']
    )

    execute_csv2_command(
        gvar, 0, None, 'group list, table #1 columns: keys=group_name, columns=condor_central_manager,metadata_names',
        ['cloudscheduler', 'group', 'list', '-VC']
    )

    execute_csv2_command(
        gvar, 0, None, None,
        ['cloudscheduler', 'group', 'list', '-NV'],
        list='Groups', columns=['Group', 'Central Manager', 'Metadata Filenames']
    )

    execute_csv2_command(
        gvar, 0, None, None,
        ['cloudscheduler', 'group', 'list', '-V', 'metadata_names'],
        list='Groups', columns=['Group', 'Metadata Filenames']
    )

    execute_csv2_command(
        gvar, 0, None, None,
        ['cloudscheduler', 'group', 'list'],
        list='Groups', columns=['Group', 'Metadata Filenames']
    )

    execute_csv2_command(
        gvar, 0, None, None,
        ['cloudscheduler', 'group', 'list', '-r'],
        list='Groups', columns=['Key', 'Value']
    )

    execute_csv2_command(
        gvar, 0, None, None,
        ['cloudscheduler', 'group', 'list', '-V', ''],
        list='Groups', columns=['Group', 'Central Manager', 'Metadata Filenames']
    )
Exemple #3
0
def main(gvar, user_secret):
    if not gvar:
        gvar = {}
        if len(argv) > 1:
            initialize_csv2_request(gvar, argv[0], selections=argv[1])
        else:
            initialize_csv2_request(gvar, argv[0])

    execute_csv2_command(
        gvar, 0, None,
        'Server: unit-test, Active User: {}'.format(ut_id(gvar, '')[:-1]),
        ['cloudscheduler', 'metadata', 'group-defaults'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were unrecognized: [\'-xx\', \'yy\']',
        ['cloudscheduler', 'metadata', 'group-defaults', '-xx', 'yy'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were invalid: group-name', [
            'cloudscheduler', 'metadata', 'group-defaults', '-gn',
            'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, None,
        'Error: the specified server "invalid-unit-test" does not exist in your defaults.',
        [
            'cloudscheduler', 'metadata', 'group-defaults', '-s',
            'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 0, None, None,
        ['cloudscheduler', 'metadata', 'group-defaults', '-s', 'unit-test-un'])

    execute_csv2_command(
        gvar, 0, None,
        'Help requested for "cloudscheduler metadata group-defaults".',
        ['cloudscheduler', 'metadata', 'group-defaults', '-h'])

    execute_csv2_command(
        gvar, 0, None, 'General Commands Manual',
        ['cloudscheduler', 'metadata', 'group-defaults', '-H'])

    execute_csv2_command(
        gvar, 0, None, 'Expose API requested',
        ['cloudscheduler', 'metadata', 'group-defaults', '-xA'])

    execute_csv2_command(
        gvar, 1, None, 'cannot switch to invalid group "invalid-unit-test".', [
            'cloudscheduler', 'metadata', 'group-defaults', '-g',
            'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 0, None,
        'Server: unit-test, Active User: {}, Active Group: {}'.format(
            ut_id(gvar, '')[:-1], ut_id(gvar, 'clg1')), [
                'cloudscheduler', 'metadata', 'group-defaults', '-g',
                ut_id(gvar, 'clg1')
            ])

    execute_csv2_command(
        gvar, 1, 'GV07',
        'value specified for "job_cpus" must be an integer value.', [
            'cloudscheduler', 'metadata', 'group-defaults', '-jc',
            'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, 'GV07',
        'value specified for "job_disk" must be an integer value.', [
            'cloudscheduler', 'metadata', 'group-defaults', '-jd',
            'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were unrecognized: [\'-jed\', \'invalid-unit-test\']',
        [
            'cloudscheduler', 'metadata', 'group-defaults', '-jed',
            'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, 'GV07',
        'value specified for "job_ram" must be an integer value.', [
            'cloudscheduler', 'metadata', 'group-defaults', '-jr',
            'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, 'GV07',
        'value specified for "job_swap" must be an integer value.', [
            'cloudscheduler', 'metadata', 'group-defaults', '-js',
            'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, 'GV07',
        'value specified for "vm_keep_alive" must be an integer value.', [
            'cloudscheduler', 'metadata', 'group-defaults', '-vka',
            'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 0, None,
        'group defaults "{}" successfully updated.'.format(ut_id(gvar,
                                                                 'clg1')),
        [
            'cloudscheduler', 'metadata', 'group-defaults', '-jc', '1', '-jd',
            '1', '-jr', '1', '-js', '1', '-vka', '1', '-vi', '', '-vk', '',
            '-vf', '', '-vn', ''
        ])

    execute_csv2_command(
        gvar,
        0,
        None,
        None, ['cloudscheduler', 'metadata', 'group-defaults', '-ok'],
        list='Active Group Defaults',
        columns=['Group'])

    execute_csv2_command(
        gvar, 0, None,
        'group defaults, table #1 columns: keys=group_name, columns=',
        ['cloudscheduler', 'metadata', 'group-defaults', '-VC'])

    execute_csv2_command(
        gvar,
        0,
        None,
        None, ['cloudscheduler', 'metadata', 'group-defaults', '-NV'],
        list='Active Group Defaults',
        columns=[
            'VM', 'Job', 'Group', 'Flavor', 'Image', 'Keep Alive', 'Cores',
            'Disk (GBs)', 'RAM (MBs)', 'Swap (GBs)'
        ])

    execute_csv2_command(
        gvar,
        0,
        None,
        None, [
            'cloudscheduler', 'metadata', 'group-defaults', '-V',
            'job_ram,vm_keep_alive'
        ],
        list='Active Group Defaults',
        columns=['VM', 'Job', 'Group', 'Keep Alive', 'RAM (MBs)'])

    execute_csv2_command(
        gvar,
        0,
        None,
        None, ['cloudscheduler', 'metadata', 'group-defaults'],
        list='Active Group Defaults',
        columns=['VM', 'Job', 'Group', 'Keep Alive', 'RAM (MBs)'])

    execute_csv2_command(
        gvar,
        0,
        None,
        None, ['cloudscheduler', 'metadata', 'group-defaults', '-r'],
        list='Active Group Defaults',
        columns=['Key', 'Value'])

    execute_csv2_command(
        gvar,
        0,
        None,
        None, ['cloudscheduler', 'metadata', 'group-defaults', '-V', ''],
        list='Active Group Defaults',
        columns=[
            'VM', 'Job', 'Group', 'Flavor', 'Image', 'Keep Alive', 'Cores',
            'Disk (GBs)', 'RAM (MBs)', 'Swap (GBs)'
        ])
def main(gvar, user_secret):
    if not gvar:
        gvar = {}
        if len(argv) > 1:
            initialize_csv2_request(gvar, argv[0], selections=argv[1])
        else:
            initialize_csv2_request(gvar, argv[0])

    # set profile
    execute_csv2_command(
        gvar, 1, None, 'You are not authorized to access object "server";',
        ['cloudscheduler', 'server', 'config', '-s', 'unit-test-un'])

    # set profile
    execute_csv2_command(
        gvar, 0, None, None,
        ['cloudscheduler', 'server', 'config', '-s', 'unit-test'])

    execute_csv2_command(
        gvar, 0, None,
        'Server: unit-test, Active User: {}'.format(ut_id(gvar, '')[:-1]),
        ['cloudscheduler', 'server', 'config'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were unrecognized: [\'-xx\', \'yy\']',
        ['cloudscheduler', 'server', 'config', '-xx', 'yy'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were invalid: group-name',
        ['cloudscheduler', 'server', 'config', '-gn', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'Error: the specified server "invalid-unit-test" does not exist in your defaults.',
        ['cloudscheduler', 'server', 'config', '-s', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 0, None, None,
        ['cloudscheduler', 'server', 'config', '-s', 'unit-test'])

    execute_csv2_command(gvar, 0, None,
                         'Help requested for "cloudscheduler server config".',
                         ['cloudscheduler', 'server', 'config', '-h'])

    execute_csv2_command(gvar, 0, None, 'General Commands Manual',
                         ['cloudscheduler', 'server', 'config', '-H'])

    execute_csv2_command(gvar, 0, None, 'Expose API requested',
                         ['cloudscheduler', 'server', 'config', '-xA'])

    execute_csv2_command(
        gvar, 1, None, 'cannot switch to invalid group "invalid-unit-test".',
        ['cloudscheduler', 'server', 'config', '-g', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 0, None,
        'Server: unit-test, Active User: {}, Active Group: {}'.format(
            ut_id(gvar, '')[:-1], ut_id(gvar, 'clg1')),
        ['cloudscheduler', 'server', 'config', '-g',
         ut_id(gvar, 'clg1')])

    execute_csv2_command(
        gvar, 1, 'SV02',
        'server config update value specified for "category" must be one of the following options:',
        ['cloudscheduler', 'server', 'config', '-cc', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, 'SV00',
        'server config must specify at least one field to update.',
        ['cloudscheduler', 'server', 'config', '-cc', 'web_frontend'])

    execute_csv2_command(
        gvar, 1, 'SV01',
        'server config update failed - the request did not match any rows', [
            'cloudscheduler', 'server', 'config', '-cc', 'web_frontend', '-c',
            'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, 'SV02',
        'server config update value specified for "log_level" must be an integer value.',
        [
            'cloudscheduler', 'server', 'config', '-cc', 'csjobs.py', '-ll',
            'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, 'SV02',
        r'server config update value specified for "enable_glint" must be one of the following options: [\'False\', \'True\'].',
        [
            'cloudscheduler', 'server', 'config', '-cc', 'web_frontend', '-eg',
            'invalid-unit-test'
        ])

    execute_csv2_command(gvar, 0, None, 'server config successfully updated', [
        'cloudscheduler', 'server', 'config', '-cc', 'web_frontend', '-lf',
        '/var/log/cloudscheduler/csv2_web_update.log', '-eg', 'True'
    ])

    execute_csv2_command(gvar, 0, None, 'server config successfully updated', [
        'cloudscheduler', 'server', 'config', '-cc', 'csjobs.py', '-ll', '10'
    ])

    execute_csv2_command(gvar, 0, None, 'server config successfully updated', [
        'cloudscheduler', 'server', 'config', '-cc', 'web_frontend', '-lf',
        '/var/log/cloudscheduler/csv2_web.log', '-eg', 'False'
    ])

    execute_csv2_command(gvar, 0, None, 'server config successfully updated', [
        'cloudscheduler', 'server', 'config', '-cc', 'csjobs.py', '-ll', '20'
    ])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'server', 'config', '-ok'],
                         list='Server Configuration',
                         columns=['Category', 'Config Key'])

    execute_csv2_command(
        gvar, 0, None,
        'server config, table #1 columns: keys=category,config_key, columns=type,value',
        ['cloudscheduler', 'server', 'config', '-VC'])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'server', 'config', '-NV'],
                         list='Server Configuration',
                         columns=['Category', 'Config Key', 'Type', 'Value'])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None,
                         ['cloudscheduler', 'server', 'config', '-V', 'value'],
                         list='Server Configuration',
                         columns=['Category', 'Config Key', 'Value'])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'server', 'config'],
                         list='Server Configuration',
                         columns=['Category', 'Config Key', 'Value'])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'server', 'config', '-r'],
                         list='Server Configuration',
                         columns=['Key', 'Value'])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None,
                         ['cloudscheduler', 'server', 'config', '-V', ''],
                         list='Server Configuration',
                         columns=['Category', 'Config Key', 'Type', 'Value'])
Exemple #5
0
def main(gvar, user_secret):
    if not gvar:
        gvar = {}
        if len(argv) > 1:
            initialize_csv2_request(gvar, argv[0], selections=argv[1])
        else:
            initialize_csv2_request(gvar, argv[0])

    execute_csv2_command(
        gvar, 1, None,
        'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'metadata', 'delete'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were unrecognized',
        ['cloudscheduler', 'metadata', 'delete', '-xx', 'yy'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were invalid: job-cores',
        ['cloudscheduler', 'metadata', 'delete', '-jc', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'Error: the specified server "invalid-unit-test" does not exist in your defaults.',
        [
            'cloudscheduler', 'metadata', 'delete', '-mn', 'invalid-unit-test',
            '-s', 'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, None, None,
        ['cloudscheduler', 'metadata', 'delete', '-s', 'unit-test-un'])

    execute_csv2_command(
        gvar, 0, None, 'Help requested for "cloudscheduler metadata delete".',
        ['cloudscheduler', 'metadata', 'delete', '-h'])

    execute_csv2_command(gvar, 0, None, 'General Commands Manual',
                         ['cloudscheduler', 'metadata', 'delete', '-H'])

    execute_csv2_command(gvar, 1, None, 'Expose API requested', [
        'cloudscheduler', 'metadata', 'delete', '-mn', 'invalid-unit-test',
        '-xA'
    ])

    execute_csv2_command(
        gvar, 1, None, 'cannot switch to invalid group "invalid-unit-test".', [
            'cloudscheduler', 'metadata', 'delete', '-mn', 'invalid-unit-test',
            '-g', 'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, None,
        'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'metadata', 'delete', '-g',
         ut_id(gvar, 'clg1')])

    execute_csv2_command(gvar, 1, 'GV31',
                         'the request did not match any rows.', [
                             'cloudscheduler', 'metadata', 'delete', '-mn',
                             'invalid-unit-test', '-Y'
                         ])

    execute_csv2_command(
        gvar, 0, None,
        'group metadata file "{}::{}" successfully deleted.'.format(
            ut_id(gvar, 'clg1'), ut_id(gvar, 'clm1')), [
                'cloudscheduler', 'metadata', 'delete', '-mn',
                ut_id(gvar, 'clm1'), '-Y'
            ])
def main(gvar, user_secret):
    if not gvar:
        gvar = {}
        if len(argv) > 1:
            initialize_csv2_request(gvar, argv[0], selections=argv[1])
        else:
            initialize_csv2_request(gvar, argv[0])

    execute_csv2_command(
        gvar, 1, None,
        'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'metadata', 'load'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were unrecognized: [\'-xx\', \'yy\']',
        ['cloudscheduler', 'metadata', 'load', '-xx', 'yy'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were invalid: job-cores',
        ['cloudscheduler', 'metadata', 'load', '-jc', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'Error: the specified server "invalid-unit-test" does not exist in your defaults.',
        [
            'cloudscheduler', 'metadata', 'load', '-mn', 'invalid-unit-test',
            '-f', 'ut.yaml', '-s', 'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, None, None,
        ['cloudscheduler', 'metadata', 'load', '-s', 'unit-test-un'])

    execute_csv2_command(gvar, 0, None,
                         'Help requested for "cloudscheduler metadata load".',
                         ['cloudscheduler', 'metadata', 'load', '-h'])

    execute_csv2_command(gvar, 0, None, 'General Commands Manual',
                         ['cloudscheduler', 'metadata', 'load', '-H'])

    execute_csv2_command(gvar, 0, None, 'Expose API requested', [
        'cloudscheduler', 'metadata', 'load', '-xA', '-mn',
        ut_id(gvar, 'clm11'), '-f', 'ut.yaml'
    ])

    execute_csv2_command(
        gvar, 1, None, 'cannot switch to invalid group "invalid-unit-test".', [
            'cloudscheduler', 'metadata', 'load', '-g', 'invalid-unit-test',
            '-mn', 'invalid-unit-test', '-f', 'ut.yaml'
        ])

    execute_csv2_command(
        gvar, 1, None,
        'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'metadata', 'load', '-g',
         ut_id(gvar, 'clg1')])

    execute_csv2_command(
        gvar, 1, None,
        'The specified metadata file "invalid-unit-test" does not exist.', [
            'cloudscheduler', 'metadata', 'load', '-f', 'invalid-unit-test',
            '-mn',
            ut_id(gvar, 'cli-invalid-unit-test')
        ])

    execute_csv2_command(
        gvar, 1, 'GV25',
        'boolean value specified for "enabled" must be one of the following: true, false, yes, no, 1, or 0.',
        [
            'cloudscheduler', 'metadata', 'load', '-f', 'ut.yaml', '-mn',
            ut_id(gvar, 'cli-invalid-unit-test'), '-me', 'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, 'GV25',
        r'value specified for "mime_type" must be one of the following options: [\'cloud-config\', \'ucernvm-config\'].',
        [
            'cloudscheduler', 'metadata', 'load', '-f', 'ut.yaml', '-mn',
            ut_id(gvar, 'cli-invalid-unit-test'), '-mmt', 'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, 'GV25',
        'value specified for "priority" must be an integer value.', [
            'cloudscheduler', 'metadata', 'load', '-f', 'ut.yaml', '-mn',
            ut_id(gvar, 'cli-invalid-unit-test'), '-mp', 'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, 'GV25',
        'value specified for "metadata (metadata_name)" is invalid - scanner error',
        [
            'cloudscheduler', 'metadata', 'load', '-f', 'notyamlfile.txt',
            '-mn', 'invalid-unit-test.yaml'
        ])

    execute_csv2_command(
        gvar, 0, None,
        'file "{}::{}" successfully added.'.format(ut_id(gvar, 'clg1'),
                                                   ut_id(gvar, 'clm10')),
        [
            'cloudscheduler', 'metadata', 'load', '-f', 'notyamlfile.txt',
            '-mn',
            ut_id(gvar, 'clm10')
        ])

    execute_csv2_command(
        gvar, 0, None,
        'file "{}::{}" successfully added.'.format(ut_id(gvar, 'clg1'),
                                                   ut_id(gvar, 'clm10.yaml')),
        [
            'cloudscheduler', 'metadata', 'load', '-f', 'ut.yaml', '-mn',
            ut_id(gvar, 'clm10.yaml')
        ])
Exemple #7
0
def main(gvar, user_secret):
    if not gvar:
        gvar = {}
        if len(argv) > 1:
            initialize_csv2_request(gvar, argv[0], selections=argv[1])
        else:
            initialize_csv2_request(gvar, argv[0])

    execute_csv2_command(gvar, 1, None,
                         'No action specified for object "defaults"',
                         ['cloudscheduler', 'defaults', '-s', 'unit-test-un'])

    execute_csv2_command(
        gvar, 1, None,
        'Invalid action "invalid-unit-test" for object "defaults"',
        ['cloudscheduler', 'defaults', 'invalid-unit-test'])

    execute_csv2_command(gvar, 0, None,
                         'Help requested for "cloudscheduler defaults".',
                         ['cloudscheduler', 'defaults', '-h'])

    execute_csv2_command(gvar, 0, None, 'General Commands Manual',
                         ['cloudscheduler', 'defaults', '-H'])

    #### SET ####

    execute_csv2_command(
        gvar, 1, None,
        'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'defaults', 'set'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were unrecognized: [\'-xx\', \'yy\']',
        ['cloudscheduler', 'defaults', 'set', '-xx', 'yy'])

    execute_csv2_command(gvar, 0, None,
                         'Help requested for "cloudscheduler defaults set".',
                         ['cloudscheduler', 'defaults', 'set', '-h'])

    execute_csv2_command(gvar, 0, None, 'General Commands Manual',
                         ['cloudscheduler', 'defaults', 'set', '-H'])

    execute_csv2_command(
        gvar, 0, None, None,
        ['cloudscheduler', 'defaults', 'set', '-s',
         ut_id(gvar, 'cld1')])

    #### LIST ####

    execute_csv2_command(gvar, 0, None, None,
                         ['cloudscheduler', 'defaults', 'list'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were unrecognized: [\'-xx\', \'yy\']',
        ['cloudscheduler', 'defaults', 'list', '-xx', 'yy'])

    execute_csv2_command(gvar, 0, None,
                         'Help requested for "cloudscheduler defaults list".',
                         ['cloudscheduler', 'defaults', 'list', '-h'])

    execute_csv2_command(gvar, 0, None, 'General Commands Manual',
                         ['cloudscheduler', 'defaults', 'list', '-H'])

    execute_csv2_command(
        gvar, 0, None, 'Rows: 0',
        ['cloudscheduler', 'defaults', 'list', '-s', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 0, None, 'Rows: 1',
        ['cloudscheduler', 'defaults', 'list', '-s',
         ut_id(gvar, 'cld1')])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'defaults', 'list', '-ok'],
                         list='',
                         columns=[])

    execute_csv2_command(
        gvar, 0, None,
        'defaults list, table #1 columns: keys=server, columns=',
        ['cloudscheduler', 'defaults', 'list', '-VC'])

    execute_csv2_command(
        gvar,
        0,
        None,
        None, ['cloudscheduler', 'defaults', 'list', '-NV'],
        list='Defaults',
        columns=[
            'server', 'cloud-address', 'cloud-enabled', 'cloud-name',
            'cloud-password', 'cloud-project', 'cloud-project-domain',
            'cloud-region', 'cloud-spot-price', 'cloud-type', 'cloud-user',
            'cloud-user-domain', 'expose-API', 'file-path', 'group',
            'group-manager', 'group-name', 'group-option', 'help', 'job-cores',
            'job-disk', 'job-ram', 'job-swap', 'long-help', 'metadata-enabled',
            'metadata-mime-type', 'metadata-name', 'metadata-priority',
            'no-view', 'only-keys', 'rotate', 'server-address',
            'server-grid-cert', 'server-grid-key', 'server-password',
            'server-user', 'super-user', 'text-editor', 'user-common-name',
            'user-password', 'user_option', 'username', 'view', 'view-columns',
            'vm-cores', 'vm-disk', 'vm-flavor', 'vm-foreign', 'vm-hostname',
            'vm-image', 'vm-keep-alive', 'vm-keypair', 'vm-option', 'vm-ram',
            'vm-status', 'vm-swap', 'yes'
        ])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, [
                             'cloudscheduler', 'defaults', 'list', '-V',
                             'server-address,server-user'
                         ],
                         list='Defaults',
                         columns=['server', 'server-address', 'server-user'])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'defaults', 'list'],
                         list='Defaults',
                         columns=['server', 'server-address', 'server-user'])

    execute_csv2_command(
        gvar,
        0,
        None,
        None, ['cloudscheduler', 'defaults', 'list', '-V', ''],
        list='Defaults',
        columns=[
            'server', 'cloud-address', 'cloud-enabled', 'cloud-name',
            'cloud-password', 'cloud-project', 'cloud-project-domain',
            'cloud-region', 'cloud-spot-price', 'cloud-type', 'cloud-user',
            'cloud-user-domain', 'expose-API', 'file-path', 'group',
            'group-manager', 'group-name', 'group-option', 'help', 'job-cores',
            'job-disk', 'job-ram', 'job-swap', 'long-help', 'metadata-enabled',
            'metadata-mime-type', 'metadata-name', 'metadata-priority',
            'no-view', 'only-keys', 'rotate', 'server-address',
            'server-grid-cert', 'server-grid-key', 'server-password',
            'server-user', 'super-user', 'text-editor', 'user-common-name',
            'user-password', 'user_option', 'username', 'view', 'view-columns',
            'vm-cores', 'vm-disk', 'vm-flavor', 'vm-foreign', 'vm-hostname',
            'vm-image', 'vm-keep-alive', 'vm-keypair', 'vm-option', 'vm-ram',
            'vm-status', 'vm-swap', 'yes'
        ])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'defaults', 'list', '-r'],
                         list='Defaults',
                         columns=['Key', 'Value'])

    #### DELETE ####

    execute_csv2_command(
        gvar, 1, None,
        'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'defaults', 'delete'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were unrecognized: [\'-xx\', \'yy\']',
        ['cloudscheduler', 'defaults', 'delete', '-xx', 'yy'])

    execute_csv2_command(
        gvar, 0, None, 'Help requested for "cloudscheduler defaults delete".',
        ['cloudscheduler', 'defaults', 'delete', '-h'])

    execute_csv2_command(gvar, 0, None, 'General Commands Manual',
                         ['cloudscheduler', 'defaults', 'delete', '-H'])

    execute_csv2_command(
        gvar, 1, None, 'Settings for server "invalid-unit-test" do not exist.',
        ['cloudscheduler', 'defaults', 'delete', '-s', 'invalid-unit-test'])

    execute_csv2_command(gvar, 0, None, None, [
        'cloudscheduler', 'defaults', 'delete', '-s',
        ut_id(gvar, 'cld1'), '-Y'
    ])

    execute_csv2_command(gvar, None, None, None,
                         ['cloudscheduler', 'defaults', '-s', 'unit-test'])
def main(gvar, user_secret):
    if not gvar:
        gvar = {}
        if len(argv) > 1:
            initialize_csv2_request(gvar, argv[0], selections=argv[1])
        else:
            initialize_csv2_request(gvar, argv[0])

    execute_csv2_command(gvar, 1, None, 'No action specified for object "job"',
                         ['cloudscheduler', 'job', '-s', 'unit-test-un'])

    execute_csv2_command(
        gvar, 1, None, 'Invalid action "invalid-unit-test" for object "job"',
        ['cloudscheduler', 'job', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'Error: the specified server "invalid-unit-test" does not exist in your defaults.',
        ['cloudscheduler', 'job', '-s', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'No action specified for object "job"; use -h or -H for help.',
        ['cloudscheduler', 'job', '-s', 'unit-test-un'])

    execute_csv2_command(gvar, 0, None,
                         'Help requested for "cloudscheduler job".',
                         ['cloudscheduler', 'job', '-h'])

    execute_csv2_command(gvar, 0, None, 'General Commands Manual',
                         ['cloudscheduler', 'job', '-H'])

    #### LIST ####
    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were unrecognized: [\'-xx\', \'yy\']',
        ['cloudscheduler', 'job', 'list', '-xx', 'yy'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were invalid: job-cores',
        ['cloudscheduler', 'job', 'list', '-jc', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'Error: the specified server "invalid-unit-test" does not exist in your defaults.',
        ['cloudscheduler', 'job', 'list', '-s', 'invalid-unit-test'])

    execute_csv2_command(gvar, 0, None, None,
                         ['cloudscheduler', 'job', 'list', '-s', 'unit-test'])

    execute_csv2_command(
        gvar, 0, None, None,
        ['cloudscheduler', 'job', 'list', '-s', 'unit-test-un'])

    execute_csv2_command(gvar, 0, None,
                         'Help requested for "cloudscheduler job list".',
                         ['cloudscheduler', 'job', 'list', '-h'])

    execute_csv2_command(gvar, 0, None, 'General Commands Manual',
                         ['cloudscheduler', 'job', 'list', '-H'])

    execute_csv2_command(gvar, 0, None, 'Expose API requested',
                         ['cloudscheduler', 'job', 'list', '-xA'])

    execute_csv2_command(
        gvar, 1, None, 'cannot switch to invalid group "invalid-unit-test".',
        ['cloudscheduler', 'job', 'list', '-g', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 0, None,
        'Server: unit-test, Active User: {}, Active Group: {}'.format(
            ut_id(gvar, '')[:-1], ut_id(gvar, 'clg1')), [
                'cloudscheduler', 'job', 'list', '-g',
                ut_id(gvar, 'clg1'), '-s', 'unit-test'
            ])

    execute_csv2_command(
        gvar, 0, None,
        'Server: unit-test-un, Active User: {}, Active Group: {}'.format(
            ut_id(gvar, 'test'), ut_id(gvar, 'clg1')), [
                'cloudscheduler', 'job', 'list', '-g',
                ut_id(gvar, 'clg1'), '-s', 'unit-test-un'
            ])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'job', 'list', '-ok'],
                         list='Jobs',
                         columns=['Group', 'Job ID'])

    execute_csv2_command(
        gvar, 0, None,
        'job list, table #1 columns: keys=group_name,global_job_id, columns=cluster_id,proc_id,user,user_data,requirements,target_clouds,cloud_name,instance_type,request_cpus,request_ram,request_disk,request_swap,job_per_core,image,network,job_priority,job_status,js_idle,js_running,js_completed,js_held,js_other,keep_alive,max_price,entered_current_status,q_date,held_reason',
        ['cloudscheduler', 'job', 'list', '-VC'])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'job', 'list', '-NV'],
                         list='Jobs',
                         columns=[
                             'Requested', 'Group', 'Job ID', 'Cluster ID',
                             'Process ID', 'User', 'User Data', 'Requirements',
                             'Target Clouds', 'Cloud', 'Instance Type', 'CPUs',
                             'RAM {MBs}', 'Disk {GBs}', 'Scratch (GBs)',
                             'Swap (GBs)', 'Jobs per Core', 'Image', 'Network',
                             'Idle', 'Running', 'Completed', 'Held', 'Other',
                             'Keep Alive (seconds)', 'Max Spot Price',
                             'State Change Date', 'Queued Date', 'Hold Job'
                         ])

    execute_csv2_command(
        gvar,
        0,
        None,
        None,
        ['cloudscheduler', 'job', 'list', '-V', 'cluster_id,proc_id,user'],
        list='Jobs',
        columns=['Group', 'Job ID', 'Cluster ID', 'Process ID', 'User'])

    execute_csv2_command(
        gvar,
        0,
        None,
        None, ['cloudscheduler', 'job', 'list'],
        list='Jobs',
        columns=['Group', 'Job ID', 'Cluster ID', 'Process ID', 'User'])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'job', 'list', '-V', ''],
                         list='Jobs',
                         columns=[
                             'Requested', 'Group', 'Job ID', 'Cluster ID',
                             'Process ID', 'User', 'User Data', 'Requirements',
                             'Target Clouds', 'Cloud', 'Instance Type', 'CPUs',
                             'RAM {MBs}', 'Disk {GBs}', 'Scratch (GBs)',
                             'Swap (GBs)', 'Jobs per Core', 'Image', 'Network',
                             'Idle', 'Running', 'Completed', 'Held', 'Other',
                             'Keep Alive (seconds)', 'Max Spot Price',
                             'State Change Date', 'Queued Date', 'Hold Job'
                         ])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'job', 'list', '-r'],
                         list='Jobs',
                         columns=['Key', 'Value'])
def main(gvar, user_secret):
    if not gvar:
        gvar = {}
        if len(argv) > 1:
            initialize_csv2_request(gvar, argv[0], selections=argv[1])
        else:
            initialize_csv2_request(gvar, argv[0])

    execute_csv2_command(gvar, 1, None,
                         'You are not authorized to access object "group";',
                         ['cloudscheduler', 'group', '-s', 'unit-test-un'])

    execute_csv2_command(gvar, 1, None,
                         'No action specified for object "group"',
                         ['cloudscheduler', 'group', '-s', 'unit-test'])

    execute_csv2_command(
        gvar, 1, None, 'Invalid action "invalid-unit-test" for object "group"',
        ['cloudscheduler', 'group', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'Error: the specified server "invalid-unit-test" does not exist in your defaults.',
        ['cloudscheduler', 'group', '-s', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'No action specified for object "group"; use -h or -H for help.',
        ['cloudscheduler', 'group', '-s', 'unit-test'])

    execute_csv2_command(gvar, 0, None,
                         'Help requested for "cloudscheduler group".',
                         ['cloudscheduler', 'group', '-h'])

    execute_csv2_command(gvar, 0, None, 'General Commands Manual',
                         ['cloudscheduler', 'group', '-H'])

    #### ADD ####
    execute_csv2_command(
        gvar, 1, None, 'You are not authorized to access object "group";',
        ['cloudscheduler', 'group', 'add', '-s', 'unit-test-un'])

    execute_csv2_command(
        gvar, 1, None,
        'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'group', 'add', '-s', 'unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were unrecognized: [\'-xx\', \'yy\']',
        ['cloudscheduler', 'group', 'add', '-xx', 'yy'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were invalid: job-cores',
        ['cloudscheduler', 'group', 'add', '-jc', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'Error: the specified server "invalid-unit-test" does not exist in your defaults.',
        ['cloudscheduler', 'group', 'add', '-s', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'group', 'add', '-s', 'unit-test'])

    execute_csv2_command(gvar, 0, None,
                         'Help requested for "cloudscheduler group add".',
                         ['cloudscheduler', 'group', 'add', '-h'])

    execute_csv2_command(gvar, 0, None, 'General Commands Manual',
                         ['cloudscheduler', 'group', 'add', '-H'])

    execute_csv2_command(gvar, 1, None, 'Expose API requested',
                         ['cloudscheduler', 'group', 'add', '-xA'])

    execute_csv2_command(
        gvar, 1, None, 'cannot switch to invalid group "invalid-unit-test".',
        ['cloudscheduler', 'group', 'add', '-g', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'group', 'add', '-gm', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'the following mandatory parameters must be specfied on the command line',
        [
            'cloudscheduler', 'group', 'add', '-gn',
            ut_id(gvar, 'cli-invalid-unit-test')
        ])

    execute_csv2_command(
        gvar, 1, None,
        'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'group', 'add', '-un', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, 'GV01',
        'value specified for "group_name" must be all lower case, numeric digits, and dashes but cannot start or end with dashes.',
        [
            'cloudscheduler', 'group', 'add', '-gn', '', '-gm',
            'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, 'GV01',
        'group add parameter "condor_central_manager" contains an empty string which is specifically disallowed.',
        [
            'cloudscheduler', 'group', 'add', '-gn',
            ut_id(gvar, 'cli-invalid-unit-test'), '-gm', ''
        ])

    execute_csv2_command(
        gvar, 1, 'GV01',
        'value specified for "group_name" must be all lower case, numeric digits, and dashes but cannot start or end with dashes.',
        [
            'cloudscheduler', 'group', 'add', '-gn', 'Invalid-Unit-Test',
            '-gm', 'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, 'GV01',
        'value specified for "group_name" must be all lower case, numeric digits, and dashes but cannot start or end with dashes.',
        [
            'cloudscheduler', 'group', 'add', '-gn', 'invalid-unit-test-',
            '-gm', 'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, 'GV01',
        'value specified for "group_name" must be all lower case, numeric digits, and dashes but cannot start or end with dashes.',
        [
            'cloudscheduler', 'group', 'add', '-gn', 'invalid!unit?test',
            '-gm', 'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, 'GV03', r'Data too long for column \'group_name\' at row 1', [
            'cloudscheduler', 'group', 'add', '-gn',
            'thisisagroupnametoolongtobeinsertedintothedatabasethisisagroupnametoolongtobeinsertedintothedatabasethisisagroupnametoolongtobein',
            '-gm', 'invalid-unit-test'
        ])

    execute_csv2_command(gvar, 1, None,
                         'You are not authorized to access object "group";', [
                             'cloudscheduler', 'group', 'add', '-gn',
                             ut_id(gvar, 'clg10'), '-gm',
                             'command-line-group-10', '-s', 'unit-test-un'
                         ])

    execute_csv2_command(
        gvar, 0, None,
        'group "{}" successfully added.'.format(ut_id(gvar, 'clg10')), [
            'cloudscheduler', 'group', 'add', '-gn',
            ut_id(gvar, 'clg10'), '-gm', 'command-line-group-10', '-s',
            'unit-test'
        ])

    execute_csv2_command(gvar, 1, 'GV02',
                         'specified user "invalid-unit-test" does not exist.',
                         [
                             'cloudscheduler', 'group', 'add', '-gn',
                             ut_id(gvar, 'cli-invalid-unit-test'), '-gm',
                             'invalid-unit-test', '-un', 'invalid-unit-test'
                         ])

    execute_csv2_command(
        gvar, 1, 'GV02',
        'group add, "{}" failed - user "{}" was specified twice.'.format(
            ut_id(gvar, 'cli-invalid-unit-test'), ut_id(gvar, 'clu3')), [
                'cloudscheduler', 'group', 'add', '-gn',
                ut_id(gvar, 'cli-invalid-unit-test'), '-gm',
                'invalid-unit-test', '-un',
                ut_id(gvar, 'clu3,clu3')
            ])

    execute_csv2_command(
        gvar, 0, None,
        'group "{}" successfully added.'.format(ut_id(gvar, 'clg11')), [
            'cloudscheduler', 'group', 'add', '-gn',
            ut_id(gvar, 'clg11'), '-gm', 'command-line-group-11', '-un',
            ut_id(gvar, 'clu3'), '-vf', '', '-vi', '', '-vk', '', '-vn', ''
        ])
def main(gvar, user_secret):
    if not gvar:
        gvar = {}
        if len(argv) > 1:
            initialize_csv2_request(gvar, argv[0], selections=argv[1])
        else:
            initialize_csv2_request(gvar, argv[0])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were unrecognized: [\'-xx\', \'yy\']',
        ['cloudscheduler', 'cloud', 'list', '-xx', 'yy', '-s', 'unit-test-un'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were invalid: metadata-mime-type',
        ['cloudscheduler', 'cloud', 'list', '-mmt', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'Error: the specified server "invalid-unit-test" does not exist in your defaults.',
        ['cloudscheduler', 'cloud', 'list', '-s', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 0, None, None,
        ['cloudscheduler', 'cloud', 'list', '-s', 'unit-test-un'])

    execute_csv2_command(gvar, 0, None,
                         'Help requested for "cloudscheduler cloud list".',
                         ['cloudscheduler', 'cloud', 'list', '-h'])

    execute_csv2_command(gvar, 0, None, 'General Commands Manual',
                         ['cloudscheduler', 'cloud', 'list', '-H'])

    execute_csv2_command(gvar, 0, None, 'Expose API requested',
                         ['cloudscheduler', 'cloud', 'list', '-xA'])

    execute_csv2_command(
        gvar, 1, None, 'cannot switch to invalid group "invalid-unit-test".',
        ['cloudscheduler', 'cloud', 'list', '-g', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 0, None,
        'Server: unit-test-un, Active User: {}, Active Group: {}'.format(
            ut_id(gvar, 'test'), ut_id(gvar, 'clg1')),
        ['cloudscheduler', 'cloud', 'list', '-g',
         ut_id(gvar, 'clg1')])

    execute_csv2_command(
        gvar, 0, None,
        'Server: unit-test, Active User: {}, Active Group: {}'.format(
            ut_id(gvar, '')[:-1], ut_id(gvar, 'clg1')), [
                'cloudscheduler', 'cloud', 'list', '-s', 'unit-test', '-g',
                ut_id(gvar, 'clg1')
            ])

    execute_csv2_command(
        gvar, 0, None,
        'Server: unit-test-un, Active User: {}, Active Group: {}'.format(
            ut_id(gvar, 'test'), ut_id(gvar, 'clg1')),
        ['cloudscheduler', 'cloud', 'list', '-s', 'unit-test-un'])

    execute_csv2_command(
        gvar, 0, None, 'Rows: 0',
        ['cloudscheduler', 'cloud', 'list', '-cn', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 0, None, 'Rows: 1',
        ['cloudscheduler', 'cloud', 'list', '-cn',
         ut_id(gvar, 'clc2')])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'cloud', 'list', '-ok'],
                         list='Clouds',
                         columns=['Group', 'Cloud'])

    execute_csv2_command(
        gvar, 0, None,
        'cloud list, table #1 columns: keys=group_name,cloud_name, columns=',
        ['cloudscheduler', 'cloud', 'list', '-VC'])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'cloud', 'list', '-NV'],
                         list='Clouds',
                         columns=[
                             'Cores', 'RAM', 'Group', 'Cloud', 'Enabled',
                             'URL', 'Project Domain', 'Project', 'User Domain',
                             'User', 'Region', 'Spot Price', 'Cloud Type',
                             'Keyname', 'Control', 'Max', 'VM', 'Metadata',
                             'Flavor', 'Image', 'Keep Alive',
                             'Group Exclusions', 'Filenames', 'CA Certificate'
                         ])

    execute_csv2_command(
        gvar,
        0,
        None,
        None, ['cloudscheduler', 'cloud', 'list', '-V', 'enabled,authurl'],
        list='Clouds',
        columns=['Group', 'Cloud', 'Enabled', 'URL'])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'cloud', 'list'],
                         list='Clouds',
                         columns=['Group', 'Cloud', 'Enabled', 'URL'])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'cloud', 'list', '-r'],
                         list='Clouds',
                         columns=['Key', 'Value'])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'cloud', 'list', '-V', ''],
                         list='Clouds',
                         columns=[
                             'Cores', 'RAM', 'Group', 'Cloud', 'Enabled',
                             'URL', 'Project Domain', 'Project', 'User Domain',
                             'User', 'Region', 'Spot Price', 'Cloud Type',
                             'Keyname', 'Control', 'Max', 'VM', 'Metadata',
                             'Flavor', 'Image', 'Keep Alive',
                             'Group Exclusions', 'Filenames', 'CA Certificate'
                         ])
def main(gvar, user_secret):
    if not gvar:
        gvar = {}
        if len(argv) > 1:
            initialize_csv2_request(gvar, argv[0], selections=argv[1])
        else:
            initialize_csv2_request(gvar, argv[0])

    execute_csv2_command(
        gvar, 1, None,
        'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'metadata', 'update'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were unrecognized: [\'-xx\', \'yy\']',
        ['cloudscheduler', 'metadata', 'update', '-xx', 'yy'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were invalid: job-cores',
        ['cloudscheduler', 'metadata', 'update', '-jc', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'Error: the specified server "invalid-unit-test" does not exist in your defaults.',
        [
            'cloudscheduler', 'metadata', 'update', '-mn', 'invalid-unit-test',
            '-me', '0', '-s', 'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, None, None,
        ['cloudscheduler', 'metadata', 'update', '-s', 'unit-test-un'])

    execute_csv2_command(
        gvar, 0, None, 'Help requested for "cloudscheduler metadata update".',
        ['cloudscheduler', 'metadata', 'update', '-h'])

    execute_csv2_command(gvar, 0, None, 'General Commands Manual',
                         ['cloudscheduler', 'metadata', 'update', '-H'])

    execute_csv2_command(gvar, 1, None, 'Expose API requested', [
        'cloudscheduler', 'metadata', 'update', '-mn', 'invalid-unit-test',
        '-me', '0', '-xA'
    ])

    execute_csv2_command(
        gvar, 1, None, 'cannot switch to invalid group "invalid-unit-test".', [
            'cloudscheduler', 'metadata', 'update', '-mn', 'invalid-unit-test',
            '-me', '0', '-g', 'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, None,
        'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'metadata', 'update', '-g',
         ut_id(gvar, 'clg1')])

    execute_csv2_command(gvar, 1, None, 'the request did not match any rows.',
                         [
                             'cloudscheduler', 'metadata', 'update', '-mn',
                             'invalid-unit-test', '-me', '0'
                         ])

    execute_csv2_command(
        gvar, 1, None,
        'value specified for "enabled" must be one of the following: true, false, yes, no, 1, or 0.',
        [
            'cloudscheduler', 'metadata', 'update', '-mn', 'invalid-unit-test',
            '-me', 'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, None,
        r'value specified for "mime_type" must be one of the following options: [\'cloud-config\', \'ucernvm-config\'].',
        [
            'cloudscheduler', 'metadata', 'update', '-mn', 'invalid-unit-test',
            '-mmt', 'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, None,
        'value specified for "priority" must be an integer value.', [
            'cloudscheduler', 'metadata', 'update', '-mn', 'invalid-unit-test',
            '-mp', 'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, None, 'requires at least one option to modify.',
        ['cloudscheduler', 'metadata', 'update', '-mn',
         ut_id(gvar, 'clm2')])

    execute_csv2_command(
        gvar, 0, None,
        'file "{}::{}" successfully  updated.'.format(ut_id(gvar, 'clg1'),
                                                      ut_id(gvar, 'clm2')),
        [
            'cloudscheduler', 'metadata', 'update', '-mn',
            ut_id(gvar, 'clm2'), '-me', 'false'
        ])

    execute_csv2_command(
        gvar, 0, None,
        'file "{}::{}" successfully  updated.'.format(ut_id(gvar, 'clg1'),
                                                      ut_id(gvar, 'clm2')),
        [
            'cloudscheduler', 'metadata', 'update', '-mn',
            ut_id(gvar, 'clm2'), '-mmt', 'ucernvm-config'
        ])

    execute_csv2_command(
        gvar, 0, None,
        'file "{}::{}" successfully  updated.'.format(ut_id(gvar, 'clg1'),
                                                      ut_id(gvar, 'clm2')),
        [
            'cloudscheduler', 'metadata', 'update', '-mn',
            ut_id(gvar, 'clm2'), '-mp', '1'
        ])
Exemple #12
0
def main(gvar, user_secret):
    if not gvar:
        gvar = {}
        if len(argv) > 1:
            initialize_csv2_request(gvar, argv[0], selections=argv[1])
        else:
            initialize_csv2_request(gvar, argv[0])

    execute_csv2_command(gvar, 1, None, 'No action specified for object "my"',
                         ['cloudscheduler', 'my'])

    execute_csv2_command(gvar, 1, None,
                         'Invalid action "invalid-unit-test" for object "my"',
                         ['cloudscheduler', 'my', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'Error: the specified server "invalid-unit-test" does not exist in your defaults.',
        ['cloudscheduler', 'my', '-s', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'No action specified for object "my"; use -h or -H for help.',
        ['cloudscheduler', 'my', '-s', 'unit-test-un'])

    execute_csv2_command(gvar, 0, None,
                         'Help requested for "cloudscheduler my".',
                         ['cloudscheduler', 'my', '-h'])

    execute_csv2_command(gvar, 0, None, 'General Commands Manual',
                         ['cloudscheduler', 'my', '-H'])

    # SETTINGS
    execute_csv2_command(
        gvar, 1, None,
        'Error: "cloudscheduler my settings" requires at least one option to update.',
        ['cloudscheduler', 'my', 'settings'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were unrecognized: [\'-xx\', \'yy\']',
        ['cloudscheduler', 'my', 'settings', '-xx', 'yy'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were invalid: metadata-mime-type',
        ['cloudscheduler', 'my', 'settings', '-mmt', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'Error: the specified server "invalid-unit-test" does not exist in your defaults.',
        ['cloudscheduler', 'my', 'settings', '-s', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'Error: "cloudscheduler my settings" requires at least one option to update.',
        ['cloudscheduler', 'my', 'settings', '-s', 'unit-test-un'])

    execute_csv2_command(gvar, 0, None,
                         'Help requested for "cloudscheduler my settings".',
                         ['cloudscheduler', 'my', 'settings', '-h'])

    execute_csv2_command(gvar, 0, None, 'General Commands Manual',
                         ['cloudscheduler', 'my', 'settings', '-H'])

    execute_csv2_command(gvar, 1, None, 'Expose API requested',
                         ['cloudscheduler', 'my', 'settings', '-xA'])

    execute_csv2_command(
        gvar, 1, None, 'cannot switch to invalid group "invalid-unit-test".',
        ['cloudscheduler', 'my', 'settings', '-g', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'Error: The following command line arguments were invalid: group',
        ['cloudscheduler', 'my', 'settings', '-g',
         ut_id(gvar, 'clg1')])

    execute_csv2_command(
        gvar, 1, 'UV15',
        'user update, value specified for a password is less than 6 characters.',
        ['cloudscheduler', 'my', 'settings', '-upw', 'abc'])

    execute_csv2_command(
        gvar, 1, 'UV15',
        'user update, value specified for a password is less then 16 characters, and does not contain a mixture of upper, lower, and numerics.',
        ['cloudscheduler', 'my', 'settings', '-upw', 'abcdef'])

    execute_csv2_command(
        gvar, 0, None,
        'user "{}" successfully updated.'.format(ut_id(gvar, 'test')),
        ['cloudscheduler', 'my', 'settings', '-upw', 'Abc123'])

    execute_csv2_command(
        gvar, 0, None,
        'user "{}" successfully updated.'.format(ut_id(gvar, 'test')),
        ['cloudscheduler', 'my', 'settings', '-upw', user_secret])
Exemple #13
0
def main(gvar, user_secret):
    if not gvar:
        gvar = {}
        if len(argv) > 1:
            initialize_csv2_request(gvar, argv[0], selections=argv[1])
        else:
            initialize_csv2_request(gvar, argv[0])

    execute_csv2_command(gvar, 1, None, 'No action specified for object "vm"',
                         ['cloudscheduler', 'vm', '-s', 'unit-test-un'])

    execute_csv2_command(gvar, 1, None,
                         'Invalid action "invalid-unit-test" for object "vm"',
                         ['cloudscheduler', 'vm', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'Error: the specified server "invalid-unit-test" does not exist in your defaults.',
        ['cloudscheduler', 'vm', '-s', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'No action specified for object "vm"; use -h or -H for help.',
        ['cloudscheduler', 'vm', '-s', 'unit-test-un'])

    execute_csv2_command(gvar, 0, None,
                         'Help requested for "cloudscheduler vm".',
                         ['cloudscheduler', 'vm', '-h'])

    execute_csv2_command(gvar, 0, None, 'General Commands Manual',
                         ['cloudscheduler', 'vm', '-H'])

    #### LIST ####
    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were unrecognized: [\'-xx\', \'yy\']',
        ['cloudscheduler', 'vm', 'list', '-xx', 'yy'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were invalid: vm-option',
        ['cloudscheduler', 'vm', 'list', '-vo', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'Error: the specified server "invalid-unit-test" does not exist in your defaults.',
        ['cloudscheduler', 'vm', 'list', '-s', 'invalid-unit-test'])

    execute_csv2_command(gvar, 0, None, None,
                         ['cloudscheduler', 'vm', 'list', '-s', 'unit-test'])

    execute_csv2_command(
        gvar, 0, None, None,
        ['cloudscheduler', 'vm', 'list', '-s', 'unit-test-un'])

    execute_csv2_command(gvar, 0, None,
                         'Help requested for "cloudscheduler vm list".',
                         ['cloudscheduler', 'vm', 'list', '-h'])

    execute_csv2_command(gvar, 0, None, 'General Commands Manual',
                         ['cloudscheduler', 'vm', 'list', '-H'])

    execute_csv2_command(gvar, 0, None, 'Expose API requested',
                         ['cloudscheduler', 'vm', 'list', '-xA'])

    execute_csv2_command(
        gvar, 1, None, 'cannot switch to invalid group "invalid-unit-test".',
        ['cloudscheduler', 'vm', 'list', '-g', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 0, None,
        'Server: unit-test-un, Active User: {}, Active Group: {}'.format(
            ut_id(gvar, 'test'), ut_id(gvar, 'clg1')),
        ['cloudscheduler', 'vm', 'list', '-g',
         ut_id(gvar, 'clg1')])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'vm', 'list', '-ok'],
                         list='VMs',
                         columns=['Group', 'Cloud', 'Hostname'])

    execute_csv2_command(
        gvar, 0, None,
        'vm list, table #1 columns: keys=group_name,cloud_name,hostname, columns=',
        ['cloudscheduler', 'vm', 'list', '-VC'])

    execute_csv2_command(
        gvar,
        0,
        None,
        None, ['cloudscheduler', 'vm', 'list', '-NV'],
        list='VMs',
        columns=[
            'Group', 'Cloud', 'Hostname', 'VMID', 'IPs', 'Floating IPs',
            'Authorization URL', 'Project', 'Status', 'Flavor ID', 'Task',
            'Power Status', 'Terminate', 'Terminate Time',
            'Status Change Time', 'Last Updated', 'Flavor', 'Condor Slots',
            'Foreign', 'cores', 'Disk (GBs)', 'Ram (MBs)', 'Swap (GBs)',
            'Poller Status', 'Manual_Control'
        ])

    execute_csv2_command(
        gvar,
        0,
        None,
        None, ['cloudscheduler', 'vm', 'list', '-V', 'project,task'],
        list='VMs',
        columns=['Group', 'Cloud', 'Hostname', 'Project', 'Task'])

    execute_csv2_command(
        gvar,
        0,
        None,
        None, ['cloudscheduler', 'vm', 'list'],
        list='VMs',
        columns=['Group', 'Cloud', 'Hostname', 'Project', 'Task'])

    execute_csv2_command(
        gvar,
        0,
        None,
        None, ['cloudscheduler', 'vm', 'list', '-V', ''],
        list='VMs',
        columns=[
            'Group', 'Cloud', 'Hostname', 'VMID', 'IPs', 'Floating IPs',
            'Authorization URL', 'Project', 'Status', 'Flavor ID', 'Task',
            'Power Status', 'Terminate', 'Terminate Time',
            'Status Change Time', 'Last Updated', 'Flavor', 'Condor Slots',
            'Foreign', 'cores', 'Disk (GBs)', 'Ram (MBs)', 'Swap (GBs)',
            'Poller Status', 'Manual_Control'
        ])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'vm', 'list', '-r'],
                         list='VMs',
                         columns=['Key', 'Value'])

    execute_csv2_command(
        gvar, 0, None, 'Rows: 0',
        ['cloudscheduler', 'vm', 'list', '-cn', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 0, None, 'Rows: 0',
        ['cloudscheduler', 'vm', 'list', '-vc', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 0, None, 'Rows: 0',
        ['cloudscheduler', 'vm', 'list', '-vd', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were unrecognized: [\'-ved\', \'invalid-unit-test\']',
        ['cloudscheduler', 'vm', 'list', '-ved', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 0, None, 'Rows: 0',
        ['cloudscheduler', 'vm', 'list', '-vF', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 0, None, 'Rows: 0',
        ['cloudscheduler', 'vm', 'list', '-vf', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'Error: The following command line arguments were invalid: vm-keyname',
        ['cloudscheduler', 'vm', 'list', '-vk', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 0, None, 'Rows: 0',
        ['cloudscheduler', 'vm', 'list', '-vr', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 0, None, 'Rows: 0',
        ['cloudscheduler', 'vm', 'list', '-vS', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 0, None, 'Rows: 0',
        ['cloudscheduler', 'vm', 'list', '-vs', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 0, None, 'Rows: 0',
        ['cloudscheduler', 'vm', 'list', '-vS', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 0, None, 'Rows: 0',
        ['cloudscheduler', 'vm', 'list', '-vs', 'invalid-unit-test'])
def main(gvar, user_secret):
    if not gvar:
        gvar = {}
        if len(argv) > 1:
            initialize_csv2_request(gvar, argv[0], selections=argv[1])
        else:
            initialize_csv2_request(gvar, argv[0])

    execute_csv2_command(
        gvar, 1, None, 'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'cloud', 'update', '-s', 'unit-test-un']
    )

    execute_csv2_command(
        gvar, 1, None, 'The following command line arguments were unrecognized: [\'-xx\', \'yy\']',
        ['cloudscheduler', 'cloud', 'update', '-xx', 'yy']
    )

    execute_csv2_command(
        gvar, 1, None, 'The following command line arguments were invalid: metadata-mime-type',
        ['cloudscheduler', 'cloud', 'update', '-mmt', 'invalid-unit-test']
    )

    execute_csv2_command(
        gvar, 1, None, 'Error: the specified server "invalid-unit-test" does not exist in your defaults.',
        ['cloudscheduler', 'cloud', 'update', '-s', 'invalid-unit-test']
    )

    execute_csv2_command(
        gvar, 1, None, 'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'cloud', 'update', '-s', 'unit-test-un']
    )

    execute_csv2_command(
        gvar, 0, None, 'Help requested for "cloudscheduler cloud update".',
        ['cloudscheduler', 'cloud', 'update', '-h']
    )

    execute_csv2_command(
        gvar, 0, None, 'General Commands Manual',
        ['cloudscheduler', 'cloud', 'update', '-H']
    )

    execute_csv2_command(
        gvar, 1, None, 'Expose API requested',
        ['cloudscheduler', 'cloud', 'update', '-xA']
    )

    execute_csv2_command(
        gvar, 1, None, 'cannot switch to invalid group "invalid-unit-test".',
        ['cloudscheduler', 'cloud', 'update', '-g', 'invalid-unit-test']
    )

    execute_csv2_command(
        gvar, 1, None, 'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'cloud', 'update', '-g', ut_id(gvar, 'clg1')]
    )

    execute_csv2_command(
        gvar, 1, None, 'the request did not match any rows.',
        ['cloudscheduler', 'cloud', 'update', '-cn', 'invalid-unit-test', '-ca', 'invalid-unit-test']
    )

    execute_csv2_command(
        gvar, 1, None, 'requires at least one option to modify.',
        ['cloudscheduler', 'cloud', 'update', '-cn', ut_id(gvar, 'clc2')]
    )

    execute_csv2_command(
        gvar, 1, 'CV35', 'value specified for "ram_ctl" must be an integer value.',
        ['cloudscheduler', 'cloud', 'update',
            '-cn', ut_id(gvar, 'clc2'),
            '-vr', 'invalid-unit-test'
        ]
    )
    
    execute_csv2_command(
        gvar, 1, 'CV35', 'value specified for "cores_ctl" must be an integer value.',
        ['cloudscheduler', 'cloud', 'update',
            '-cn', ut_id(gvar, 'clc2'),
            '-vc', 'invalid-unit-test'
        ]
    )

    execute_csv2_command(
        gvar, 1, 'CV35', 'boolean value specified for "enabled" must be one of the following: true, false, yes, no, 1, or 0.',
        ['cloudscheduler', 'cloud', 'update',
            '-cn', ut_id(gvar, 'clc2'),
            '-ce', 'invalid-unit-test'
        ]
    )

    execute_csv2_command(
        gvar, 1, 'CV35', 'value specified for "vm_keep_alive" must be an integer value.',
        ['cloudscheduler', 'cloud', 'update',
            '-cn', ut_id(gvar, 'clc2'),
            '-vka', 'invalid-unit-test'
        ]
    )

    execute_csv2_command(
        gvar, 1, 'CV35', 'value specified for "spot_price" must be an integer value.',
        ['cloudscheduler', 'cloud', 'update',
            '-cn', ut_id(gvar, 'clc2'),
            '-csp', 'invalid-unit-test'
        ]
    )

    execute_csv2_command(
        gvar, 1, 'CV03', 'cloud update, "{}" failed - specified metadata_name "invalid-unit-test" does not exist.'.format(ut_id(gvar, 'clc2')),
        ['cloudscheduler', 'cloud', 'update',
            '-cn', ut_id(gvar, 'clc2'),
            '-gme', 'invalid-unit-test'
        ]
    )

    execute_csv2_command(
        gvar, 1, 'CV35', 'value specified for "metadata_option" must be one of the following options: [\\\'add\\\', \\\'delete\\\'].',
        ['cloudscheduler', 'cloud', 'update',
            '-cn', ut_id(gvar, 'clc2'),
            '-gmo', 'invalid-unit-test'
        ]
    )

    execute_csv2_command(
        gvar, 1, 'CV23', 'cloud update must specify at least one field to update.',
        ['cloudscheduler', 'cloud', 'update',
            '-cn', ut_id(gvar, 'clc2'),
            '-gmo', 'add'
        ]
    )

    execute_csv2_command(
        gvar, 1, 'CV23', 'cloud update must specify at least one field to update.',
        ['cloudscheduler', 'cloud', 'update',
            '-cn', ut_id(gvar, 'clc2'),
            '-gmo', 'delete'
        ]
    )

    execute_csv2_command(
        gvar, 1, 'CV03', 'cloud update, "{}" failed - specified metadata_name "invalid-unit-test" does not exist.'.format(ut_id(gvar, 'clc2')),
        ['cloudscheduler', 'cloud', 'update',
            '-cn', ut_id(gvar, 'clc2'),
            '-gme', 'invalid-unit-test',
            '-gmo', 'add'
        ]
    )

    execute_csv2_command(
        gvar, 1, 'CV03', 'cloud update, "{}" failed - specified metadata_name "invalid-unit-test" does not exist.'.format(ut_id(gvar, 'clc2')),
        ['cloudscheduler', 'cloud', 'update',
            '-cn', ut_id(gvar, 'clc2'),
            '-gme', 'invalid-unit-test',
            '-gmo', 'delete'
        ]
    )

    execute_csv2_command(
        gvar, 1, 'CV03', 'cloud update, "{}" failed - specified metadata_name "invalid-unit-test" does not exist.'.format(ut_id(gvar, 'clc2')),
        ['cloudscheduler', 'cloud', 'update',
            '-cn', ut_id(gvar, 'clc2'),
            '-gme', '{},invalid-unit-test'.format(ut_id(gvar, 'clm2'))
        ]
    )

    execute_csv2_command(
        gvar, 1, 'CV03', 'cloud update, "{}" failed - specified metadata_name "invalid-unit-test" does not exist.'.format(ut_id(gvar, 'clc2')),
        ['cloudscheduler', 'cloud', 'update',
            '-cn', ut_id(gvar, 'clc2'),
            '-gme', '{},invalid-unit-test'.format(ut_id(gvar, 'clm2')),
            '-gmo', 'add'
        ]
    )

    execute_csv2_command(
        gvar, 1, 'CV03', 'cloud update, "{}" failed - specified metadata_name "invalid-unit-test" does not exist.'.format(ut_id(gvar, 'clc2')),
        ['cloudscheduler', 'cloud', 'update',
            '-cn', ut_id(gvar, 'clc2'),
            '-gme', '{},invalid-unit-test'.format(ut_id(gvar, 'clm2')),
            '-gmo', 'delete'
        ]
    )

    execute_csv2_command(
        gvar, 0, None, 'cloud "{}::{}" successfully updated.'.format(ut_id(gvar, 'clg1'), ut_id(gvar, 'clc2')),
        ['cloudscheduler', 'cloud', 'update',
            '-cn', ut_id(gvar, 'clc2'),
            '-ca', 'command-line-cloud-update.ca',
            '-cpw', 'command-line-cloud-update',
            '-cp', 'command-line-cloud-update',
            '-cr', 'clc10-r',
            '-ct', 'local',
            '-cu', ut_id(gvar, 'clc10'),
            '-ce', 'no',
            '-vi', '',
            '-vf', '',
            '-vk', '',
            '-vka', '10',
            '-vn', '',
            '-csp', '10',
            '-gme', ut_id(gvar, 'clm2')
        ]
    )

    execute_csv2_command(
        gvar, 0, None, 'cloud "{}::{}" successfully updated.'.format(ut_id(gvar, 'clg1'), ut_id(gvar, 'clc2')),
        ['cloudscheduler', 'cloud', 'update',
            '-cn', ut_id(gvar, 'clc2'),
            '-ca', 'command-line-cloud-update.ca',
            '-cpw', 'command-line-cloud-update',
            '-cp', 'command-line-cloud-update',
            '-cr', 'clc10-r',
            '-ct', 'local',
            '-cu', ut_id(gvar, 'clc10'),
            '-gme', ut_id(gvar, 'clm2.yaml,clm3')
        ]
    )

    execute_csv2_command(
        gvar, 0, None, 'cloud "{}::{}" successfully updated.'.format(ut_id(gvar, 'clg1'), ut_id(gvar, 'clc2')),
        ['cloudscheduler', 'cloud', 'update',
            '-cn', ut_id(gvar, 'clc2'),
            '-ca', 'command-line-cloud-update.ca',
            '-cpw', 'command-line-cloud-update',
            '-cp', 'command-line-cloud-update',
            '-cr', 'clc10-r',
            '-ct', 'local',
            '-cu', ut_id(gvar, 'clc10'),
            '-gme', ut_id(gvar, 'clm2.yaml'),
            '-gmo', 'delete'
        ]
    )

    execute_csv2_command(
        gvar, 0, None, 'cloud "{}::{}" successfully updated.'.format(ut_id(gvar, 'clg1'), ut_id(gvar, 'clc2')),
        ['cloudscheduler', 'cloud', 'update',
            '-cn', ut_id(gvar, 'clc2'),
            '-ca', 'command-line-cloud-update.ca',
            '-cpw', 'command-line-cloud-update',
            '-cp', 'command-line-cloud-update',
            '-cr', 'clc10-r',
            '-ct', 'local',
            '-cu', ut_id(gvar, 'clc10'),
            '-gme', ut_id(gvar, 'clm2,clm3'),
            '-gmo', 'delete'
        ]
    )

    execute_csv2_command(
        gvar, 0, None, 'cloud "{}::{}" successfully updated.'.format(ut_id(gvar, 'clg1'), ut_id(gvar, 'clc2')),
        ['cloudscheduler', 'cloud', 'update',
            '-cn', ut_id(gvar, 'clc2'),
            '-ca', 'command-line-cloud-update.ca',
            '-cpw', 'command-line-cloud-update',
            '-cp', 'command-line-cloud-update',
            '-cr', 'clc10-r',
            '-ct', 'local',
            '-cu', ut_id(gvar, 'clc10'),
            '-gme', ut_id(gvar, 'clm2'),
            '-gmo', 'add'
        ]
    )

    execute_csv2_command(
        gvar, 0, None, 'cloud "{}::{}" successfully updated.'.format(ut_id(gvar, 'clg1'), ut_id(gvar, 'clc2')),
        ['cloudscheduler', 'cloud', 'update',
            '-cn', ut_id(gvar, 'clc2'),
            '-ca', 'command-line-cloud-update.ca',
            '-cpw', 'command-line-cloud-update',
            '-cp', 'command-line-cloud-update',
            '-cr', 'clc10-r',
            '-ct', 'local',
            '-cu', ut_id(gvar, 'clc10'),
            '-gme', ut_id(gvar, 'clm2.yaml,clm3'),
            '-gmo', 'add'
        ]
    )

    execute_csv2_command(
        gvar, 0, None, 'cloud "{}::{}" successfully updated.'.format(ut_id(gvar, 'clg1'), ut_id(gvar, 'clc2')),
        ['cloudscheduler', 'cloud', 'update',
            '-cn', ut_id(gvar, 'clc2'),
            '-ca', 'command-line-cloud-update2.ca',
            '-cpw', 'command-line-cloud-update2',
            '-cp', 'command-line-cloud-update2',
            '-cr', 'clc10-r',
            '-ct', 'local',
            '-cu', ut_id(gvar, 'clc10'),
            '-gmo', 'add',
            '-g', ut_id(gvar, 'clg1'),
            '-s', 'unit-test',
        ]
    )
Exemple #15
0
def main(gvar, user_secret):
    if not gvar:
        gvar = {}
        if len(argv) > 1:
            initialize_csv2_request(gvar, argv[0], selections=argv[1])
        else:
            initialize_csv2_request(gvar, argv[0])
    if not user_secret:
        user_secret = generate_secret()
    
    cli_requests_cleanup.main(gvar)

    # unprivileged user in no groups
    execute_csv2_request(
        gvar, 0, None, 'user "{}" successfully added.'.format(ut_id(gvar, 'clu1')),
        '/user/add/', form_data={
            'username': ut_id(gvar, 'clu1'),
            'password1': user_secret,
            'password2': user_secret,
            'cert_cn': ut_id(gvar, 'command line user one')
        }
    )
    
    # privileged user in no groups
    execute_csv2_request(
        gvar, 0, None, 'user "{}" successfully added.'.format(ut_id(gvar, 'clu2')),
        '/user/add/', form_data={
            'username': ut_id(gvar, 'clu2'),
            'password1': user_secret,
            'password2': user_secret,
            'cert_cn': ut_id(gvar, 'command line user two'),
            'is_superuser': 1
        }
    )

    # user for unprivleged tests
    execute_csv2_request(
        gvar, 0, None, None,
        '/user/add/', form_data={
            'username': ut_id(gvar, 'test'),
            'password1': user_secret,
            'password2': user_secret,
            'cert_cn': ut_id(gvar, 'test'),
            'is_superuser': 0,
        }
    )

    # group with users
    execute_csv2_request(
        gvar, 0, None, 'group "{}" successfully added.'.format(ut_id(gvar, 'clg1')),
        '/group/add/', form_data={
            'group_name': ut_id(gvar, 'clg1'),
            'condor_central_manager': 'unit-test-group-one.ca',
            'username.1': ut_id(gvar, '')[:-1],
            'username.2': ut_id(gvar, 'test'),
        }
    )

    # group without users
    execute_csv2_request(
        gvar, 0, None, 'group "{}" successfully added.'.format(ut_id(gvar, 'clg2')),
        '/group/add/', form_data={
            'group_name': ut_id(gvar, 'clg2'),
            'condor_central_manager': 'unit-test-group-two.ca'
        }
    )

    # group to be deleted without users
    execute_csv2_request(
        gvar, 0, None, 'group "{}" successfully added.'.format(ut_id(gvar, 'clg3')),
        '/group/add/', form_data={
            'group_name': ut_id(gvar, 'clg3'),
            'condor_central_manager': 'unit-test-group-three.ca'
        }
    )

    # group to be deleted with users
    execute_csv2_request(
        gvar, 0, None, 'group "{}" successfully added.'.format(ut_id(gvar, 'clg4')),
        '/group/add/', form_data={
            'group_name': ut_id(gvar, 'clg4'),
            'condor_central_manager': 'unit-test-group-four.ca'
        }
    )

    # unprivileged user in clg1
    execute_csv2_request(
        gvar, 0, None, 'user "{}" successfully added.'.format(ut_id(gvar, 'clu3')),
        '/user/add/', form_data={
            'username': ut_id(gvar, 'clu3'),
            'password1': user_secret,
            'password2': user_secret,
            'cert_cn': ut_id(gvar, 'command line user three'),
            'group_name.1': ut_id(gvar, 'clg1')
        }
    )
    
    # privileged user in clg1
    execute_csv2_request(
        gvar, 0, None, 'user "{}" successfully added.'.format(ut_id(gvar, 'clu4')),
        '/user/add/', form_data={
            'username': ut_id(gvar, 'clu4'),
            'password1': user_secret,
            'password2': user_secret,
            'cert_cn': ut_id(gvar, 'command line user four'),
            'is_superuser': 1,
            'group_name.1': ut_id(gvar, 'clg1'),
            'group_name.2': ut_id(gvar, 'clg4')
        }
    )

    # user to be deleted in no groups
    execute_csv2_request(
        gvar, 0, None, 'user "{}" successfully added.'.format(ut_id(gvar, 'clu5')),
        '/user/add/', form_data={
            'username': ut_id(gvar, 'clu5'),
            'password': user_secret,
            'cert_cn': ut_id(gvar, 'command line user five')
        }
    )

    # user to be deleted in groups
    execute_csv2_request(
        gvar, 0, None, 'user "{}" successfully added.'.format(ut_id(gvar, 'clu6')),
        '/user/add/', form_data={
            'username': ut_id(gvar, 'clu6'),
            'password': user_secret,
            'cert_cn': ut_id(gvar, 'command line user six'),
            'group_name': ut_id(gvar, 'clg1')
        }
    )

    # user to be updated
    execute_csv2_request(
        gvar, 0, None, 'user "{}" successfully added.'.format(ut_id(gvar, 'clu7')),
        '/user/add/', form_data={
            'username': ut_id(gvar, 'clu7'),
            'password': user_secret,
            'cert_cn': ut_id(gvar, 'command line user seven')
        }
    )

    # cloud to be deleted
    execute_csv2_request(
        gvar, 0, None, 'cloud "{}::{}" successfully added.'.format(ut_id(gvar, 'clg1'), ut_id(gvar, 'clc1')),
        '/cloud/add/', form_data={
            'group': ut_id(gvar, 'clg1'),
            'cloud_name': ut_id(gvar, 'clc1'),
            'authurl': 'unit-test-cloud-one.ca',
            'project': 'unit-test-cloud-one',
            'username': ut_id(gvar, 'clc1'),
            'password': '******',
            'region': ut_id(gvar, 'clc1-r'),
            'cloud_type': 'local'
        }
    )

    # cloud to be deleted
    execute_csv2_request(
        gvar, 0, None, 'cloud "{}::{}" successfully added.'.format(ut_id(gvar, 'clg1'), ut_id(gvar, 'clc3')),
        '/cloud/add/', form_data={
            'group': ut_id(gvar, 'clg1'),
            'cloud_name': ut_id(gvar, 'clc3'),
            'authurl': 'unit-test-cloud-three.ca',
            'project': 'unit-test-cloud-three',
            'username': ut_id(gvar, 'clc3'),
            'password': '******',
            'region': ut_id(gvar, 'clc3-r'),
            'cloud_type': 'local'
        }
    )

    # cloud to be listed and edited
    execute_csv2_request(
        gvar, 0, None, 'cloud "{}::{}" successfully added.'.format(ut_id(gvar, 'clg1'), ut_id(gvar, 'clc2')),
        '/cloud/add/', form_data={
            'group': ut_id(gvar, 'clg1'),
            'cloud_name': ut_id(gvar, 'clc2'),
            'authurl': 'unit-test-cloud-two.ca',
            'project': 'unit-test-cloud-two',
            'username': ut_id(gvar, 'clc2'),
            'password': '******',
            'region': ut_id(gvar, 'clc2-r'),
            'cloud_type': 'local'
        }
    )

    # group metadata to be deleted
    execute_csv2_request(
        gvar, 0, None, 'file "{}::{}" successfully added.'.format(ut_id(gvar, 'clg1'), ut_id(gvar, 'clm1')),
        '/group/metadata-add/', form_data={
            'group': ut_id(gvar, 'clg1'),
            'metadata_name': ut_id(gvar, 'clm1'),
            'metadata': '- example: yaml'
        }
    )

    # group metadata to be edited
    execute_csv2_request(
        gvar, 0, None, 'file "{}::{}" successfully added.'.format(ut_id(gvar, 'clg1'), ut_id(gvar, 'clm2')),
        '/group/metadata-add/', form_data={
            'group': ut_id(gvar, 'clg1'),
            'metadata_name': ut_id(gvar, 'clm2'),
            'metadata': '- example: yaml'
        }
    )

    execute_csv2_request(
        gvar, 0, None, 'file "{}::{}" successfully added.'.format(ut_id(gvar, 'clg1'), ut_id(gvar, 'clm2.yaml')),
        '/group/metadata-add/', form_data={
            'group': ut_id(gvar, 'clg1'),
            'metadata_name': ut_id(gvar, 'clm2.yaml'),
            'metadata': '- example: yaml'
        }
    )

    execute_csv2_request(
        gvar, 0, None, 'file "{}::{}" successfully added.'.format(ut_id(gvar, 'clg1'), ut_id(gvar, 'clm3')),
        '/group/metadata-add/', form_data={
            'group': ut_id(gvar, 'clg1'),
            'metadata_name': ut_id(gvar, 'clm3'),
            'metadata': '- example: yaml'
        }
    )

    # cloud metadata to be deleted
    execute_csv2_request(
        gvar, 0, None, 'cloud metadata file "{}::{}::{}" successfully added.'.format(ut_id(gvar, 'clg1'), ut_id(gvar, 'clc2'), ut_id(gvar, 'clm1')),
        '/cloud/metadata-add/', form_data={
            'cloud_name': ut_id(gvar, 'clc2'),
            'metadata_name': ut_id(gvar, 'clm1'),
            'metadata': '- example: yes'
        }
    )

    execute_csv2_request(
        gvar, 0, None, 'cloud metadata file "{}::{}::{}" successfully added.'.format(ut_id(gvar, 'clg1'), ut_id(gvar, 'clc2'), ut_id(gvar, 'clm3')),
        '/cloud/metadata-add/', form_data={
            'cloud_name': ut_id(gvar, 'clc2'),
            'metadata_name': ut_id(gvar, 'clm3'),
            'metadata': '- example: yes'
        }
    )

    # cloud metadata to be edited
    execute_csv2_request(
        gvar, 0, None, 'cloud metadata file "{}::{}::{}" successfully added.'.format(ut_id(gvar, 'clg1'), ut_id(gvar, 'clc2'), ut_id(gvar, 'clm2')),
        '/cloud/metadata-add/', form_data={
            'cloud_name': ut_id(gvar, 'clc2'),
            'metadata_name': ut_id(gvar, 'clm2'),
            'metadata': '- example: yes'
        }
    )

    execute_csv2_request(
        gvar, 0, None, 'cloud metadata file "{}::{}::{}" successfully added.'.format(ut_id(gvar, 'clg1'), ut_id(gvar, 'clc2'), ut_id(gvar, 'clm2.yaml')),
        '/cloud/metadata-add/', form_data={
            'cloud_name': ut_id(gvar, 'clc2'),
            'metadata_name': ut_id(gvar, 'clm2.yaml'),
            'metadata': '- example: yes'
        }
    )
    
    execute_csv2_command(
        gvar, 0, None, None,
        ['cloudscheduler', 'defaults', 'set', '-s', 'unit-test-un', '-su', ut_id(gvar, 'test'), '-spw', user_secret]
    )
Exemple #16
0
def main(gvar, user_secret):
    if not gvar:
        gvar = {}
        if len(argv) > 1:
            initialize_csv2_request(gvar, argv[0], selections=argv[1])
        else:
            initialize_csv2_request(gvar, argv[0])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were unrecognized: [\'-xx\', \'yy\']',
        [
            'cloudscheduler', 'cloud', 'status', '-xx', 'yy', '-s',
            'unit-test-un'
        ])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were invalid: metadata-mime-type',
        ['cloudscheduler', 'cloud', 'status', '-mmt', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'Error: the specified server "invalid-unit-test" does not exist in your defaults.',
        ['cloudscheduler', 'cloud', 'status', '-s', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 0, None, None,
        ['cloudscheduler', 'cloud', 'status', '-s', 'unit-test-un'])

    execute_csv2_command(gvar, 0, None,
                         'Help requested for "cloudscheduler cloud status".',
                         ['cloudscheduler', 'cloud', 'status', '-h'])

    execute_csv2_command(gvar, 0, None, 'General Commands Manual',
                         ['cloudscheduler', 'cloud', 'status', '-H'])

    execute_csv2_command(gvar, 0, None, 'Expose API requested',
                         ['cloudscheduler', 'cloud', 'status', '-xA'])

    execute_csv2_command(
        gvar, 1, None, 'cannot switch to invalid group "invalid-unit-test".',
        ['cloudscheduler', 'cloud', 'status', '-g', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 0, None,
        'Server: unit-test-un, Active User: {}, Active Group: {}'.format(
            ut_id(gvar, 'test'), ut_id(gvar, 'clg1')),
        ['cloudscheduler', 'cloud', 'status', '-g',
         ut_id(gvar, 'clg1')])

    execute_csv2_command(
        gvar, 0, None,
        'Server: unit-test, Active User: {}, Active Group: {}'.format(
            ut_id(gvar, '')[:-1], ut_id(gvar, 'clg1')), [
                'cloudscheduler', 'cloud', 'status', '-g',
                ut_id(gvar, 'clg1'), '-s', 'unit-test'
            ])

    execute_csv2_command(
        gvar, 0, None,
        'Server: unit-test-un, Active User: {}, Active Group: {}'.format(
            ut_id(gvar, 'test'), ut_id(gvar, 'clg1')),
        ['cloudscheduler', 'cloud', 'status', '-s', 'unit-test-un'])

    execute_csv2_command(
        gvar, 0, None, 'Rows: 0',
        ['cloudscheduler', 'cloud', 'status', '-cn', 'invalid-unit-test'])

    execute_csv2_command(gvar, 0, None, ut_id(gvar, 'clc2'),
                         ['cloudscheduler', 'cloud', 'status'])

    execute_csv2_command(
        gvar, 0, None, 'Rows: 1',
        ['cloudscheduler', 'cloud', 'status', '-cn',
         ut_id(gvar, 'clc2')])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'cloud', 'status', '-ok'],
                         list='Cloud status',
                         columns=['Group', 'Cloud'])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'cloud', 'status', '-ok'],
                         list='Job status',
                         columns=['Group'])

    execute_csv2_command(
        gvar, 0, None,
        'cloud status, table #1 columns: keys=group_name, columns=Jobs,Idle,Running,Completed,Other\\ncloud status, table #2 columns: keys=group_name,cloud_name, columns=enabled,default_flavor,default_image,keep_alive,VMs,VMs_unregistered,VMs_running,VMs_retiring,VMs_manual,VMs_in_error,VMs_other,cores_max,cores_ctl,cores_idle,cores_native,ram_max,ram_ctl,ram_idle,ram_native,slots_max,slots_used,Foreign_VMs,cores_foreign,ram_foreign',
        ['cloudscheduler', 'cloud', 'status', '-VC'])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'cloud', 'status', '-NV'],
                         list='Cloud status',
                         columns=[
                             'Defaults', 'VMs', 'Cores', 'Group', 'Cloud',
                             'Enabled', 'Flavor', 'Image', 'Keep Alive',
                             'Total', 'Unregistered', 'Running', 'Retiring',
                             'Manual', 'Error', 'Other', 'Setting', 'RAM',
                             'Slots', 'Foreign', 'Idle', 'Used'
                         ])

    execute_csv2_command(
        gvar,
        0,
        None,
        None, ['cloudscheduler', 'cloud', 'status', '-NV'],
        list='Job status',
        columns=['Group', 'Jobs', 'Idle', 'Running', 'Completed', 'Other'])

    execute_csv2_command(
        gvar, 0, None, None,
        ['cloudscheduler', 'cloud', 'status', '-V', 'Jobs/enabled'])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'cloud', 'status'],
                         list='Cloud status',
                         columns=['Defaults', 'Group', 'Cloud', 'Enabled'])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'cloud', 'status'],
                         list='Job status',
                         columns=['Group', 'Jobs'])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'cloud', 'status', '-r'],
                         list='Cloud status',
                         columns=['Key', 'Value'])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'cloud', 'status', '-r'],
                         list='Job status',
                         columns=['Key', 'Value'])

    execute_csv2_command(gvar, 0, None, None,
                         ['cloudscheduler', 'cloud', 'status', '-V', ''])
Exemple #17
0
def main(gvar, user_secret):
    if not gvar:
        gvar = {}
        if len(argv) > 1:
            initialize_csv2_request(gvar, argv[0], selections=argv[1])
        else:
            initialize_csv2_request(gvar, argv[0])

    execute_csv2_request(gvar,
                         0,
                         None,
                         None,
                         '/vm/list/',
                         form_data={'group': 'vm-test-group'},
                         list='vm_list',
                         filter={
                             'group_name': 'vm-test-group',
                             'cloud_name': 'vm-test-cloud',
                             'vmid': 'vmid1'
                         },
                         values={
                             'power_status': 1,
                             'auth_url': 'vm-test-authurl',
                             'manual_control': 0,
                             'project': 'vm-test-project',
                             'status': 'ACTIVE',
                             'retire_request_time': 0,
                             'group_name': 'vm-test-group',
                             'terminate': 0,
                             'flavor_id': '5',
                             'poller_status': 'unregistered',
                             'foreign_vm': 0,
                             'hostname': 'vm-test-group--vm-test-cloud--vmid1',
                             'vmid': 'vmid1',
                             'keep_alive': 0,
                             'cloud_name': 'vm-test-cloud'
                         })

    execute_csv2_request(gvar,
                         0,
                         None,
                         None,
                         '/vm/list/',
                         form_data={'group': 'vm-test-group'},
                         list='vm_list',
                         filter={
                             'group_name': 'vm-test-group',
                             'cloud_name': 'vm-test-cloud',
                             'vmid': 'vmid2'
                         },
                         values={
                             'power_status': 1,
                             'auth_url': 'vm-test-authurl',
                             'manual_control': 0,
                             'project': 'vm-test-project',
                             'status': 'ACTIVE',
                             'retire_request_time': 0,
                             'group_name': 'vm-test-group',
                             'terminate': 0,
                             'flavor_id': '4',
                             'poller_status': 'unregistered',
                             'foreign_vm': 0,
                             'hostname': 'vm-test-group--vm-test-cloud--vmid2',
                             'vmid': 'vmid2',
                             'keep_alive': 0,
                             'cloud_name': 'vm-test-cloud'
                         })

    execute_csv2_request(gvar,
                         0,
                         None,
                         None,
                         '/vm/list/',
                         form_data={'group': 'vm-test-group'},
                         list='vm_list',
                         filter={
                             'group_name': 'vm-test-group',
                             'cloud_name': 'vm-test-cloud',
                             'vmid': 'vmid3'
                         },
                         values={
                             'power_status': 1,
                             'auth_url': 'vm-test-authurl',
                             'manual_control': 0,
                             'project': 'vm-test-project',
                             'status': 'ACTIVE',
                             'retire_request_time': 0,
                             'group_name': 'vm-test-group',
                             'terminate': 0,
                             'flavor_id': '4',
                             'poller_status': 'unregistered',
                             'foreign_vm': 0,
                             'hostname': 'vm-test-group--vm-test-cloud--vmid3',
                             'vmid': 'vmid3',
                             'keep_alive': 0,
                             'cloud_name': 'vm-test-cloud'
                         })

    execute_csv2_request(gvar,
                         0,
                         None,
                         None,
                         '/vm/list/',
                         form_data={'group': 'vm-test-group'},
                         list='vm_list',
                         filter={
                             'group_name': 'vm-test-group',
                             'cloud_name': 'vm-test-cloud',
                             'vmid': 'vmid4'
                         },
                         values={
                             'power_status': 1,
                             'auth_url': 'vm-test-authurl',
                             'manual_control': 0,
                             'project': 'vm-test-project',
                             'status': 'ACTIVE',
                             'retire_request_time': None,
                             'group_name': 'vm-test-group',
                             'terminate': 0,
                             'flavor_id': '4',
                             'poller_status': 'foreign',
                             'foreign_vm': 1,
                             'hostname': 'foreign-cloud--vmid4',
                             'vmid': 'vmid4',
                             'keep_alive': 0,
                             'cloud_name': 'vm-test-cloud'
                         })

    execute_csv2_request(gvar,
                         0,
                         None,
                         None,
                         '/vm/list/',
                         form_data={'group': 'vm-test-group'},
                         list='vm_list',
                         filter={
                             'group_name': 'vm-test-group',
                             'cloud_name': 'vm-test-cloud',
                             'vmid': 'vmid5'
                         },
                         values={
                             'power_status': 1,
                             'auth_url': 'vm-test-authurl',
                             'manual_control': 0,
                             'project': 'vm-test-project',
                             'status': 'ACTIVE',
                             'retire_request_time': None,
                             'group_name': 'vm-test-group',
                             'terminate': 0,
                             'flavor_id': '4',
                             'poller_status': 'foreign',
                             'foreign_vm': 1,
                             'hostname': 'foreign-cloud--vmid5',
                             'vmid': 'vmid5',
                             'keep_alive': 0,
                             'cloud_name': 'vm-test-cloud'
                         })

    execute_csv2_request(gvar,
                         0,
                         None,
                         None,
                         '/vm/list/',
                         form_data={'group': 'vm-test-group'},
                         list='vm_list',
                         filter={
                             'group_name': 'vm-test-group',
                             'cloud_name': 'vm-test-cloud',
                             'vmid': 'vmid6'
                         },
                         values={
                             'power_status': 1,
                             'auth_url': 'vm-test-authurl',
                             'manual_control': 0,
                             'project': 'vm-test-project',
                             'status': 'ACTIVE',
                             'retire_request_time': None,
                             'group_name': 'vm-test-group',
                             'terminate': 0,
                             'flavor_id': '4',
                             'poller_status': 'foreign',
                             'foreign_vm': 1,
                             'hostname': 'foreign-cloud--vmid6',
                             'vmid': 'vmid6',
                             'keep_alive': 0,
                             'cloud_name': 'vm-test-cloud'
                         })

    # Setting Manual Control
    execute_csv2_request(gvar,
                         0,
                         None,
                         "vm update, VMs set to manual control: 0.",
                         '/vm/update/',
                         form_data={
                             'vm_option': 'manctl',
                             'hostname': 'foreign-cloud--vmid4'
                         })

    execute_csv2_command(gvar, 0, None,
                         'vm update, VMs set to manual control: 0.', [
                             'cloudscheduler', 'vm', 'update', '-vo', 'manctl',
                             '-vh', 'foreign-cloud--vmid4'
                         ])

    execute_csv2_request(gvar,
                         0,
                         None,
                         "vm update, VMs set to manual control: 1.",
                         '/vm/update/',
                         form_data={
                             'vm_option': 'manctl',
                             'hostname': 'vm-test-group--vm-test-cloud--vmid1'
                         })

    execute_csv2_command(gvar, 0, None,
                         'vm update, VMs set to manual control: 1.', [
                             'cloudscheduler', 'vm', 'update', '-vo', 'manctl',
                             '-vh', 'vm-test-group--vm-test-cloud--vmid2'
                         ])

    execute_csv2_request(gvar,
                         0,
                         None,
                         "vm update, VMs set to manual control: 3.",
                         '/vm/update/',
                         form_data={'vm_option': 'manctl'})

    execute_csv2_command(gvar, 0, None,
                         'vm update, VMs set to manual control: 3.',
                         ['cloudscheduler', 'vm', 'update', '-vo', 'manctl'])

    execute_csv2_request(gvar,
                         0,
                         None,
                         None,
                         '/vm/list/',
                         form_data={'group': 'vm-test-group'},
                         list='vm_list',
                         filter={
                             'group_name': 'vm-test-group',
                             'cloud_name': 'vm-test-cloud',
                             'vmid': 'vmid1'
                         },
                         values={
                             'power_status': 1,
                             'auth_url': 'vm-test-authurl',
                             'manual_control': 1,
                             'project': 'vm-test-project',
                             'status': 'ACTIVE',
                             'retire_request_time': 0,
                             'group_name': 'vm-test-group',
                             'terminate': 0,
                             'flavor_id': '5',
                             'poller_status': 'manual',
                             'foreign_vm': 0,
                             'hostname': 'vm-test-group--vm-test-cloud--vmid1',
                             'vmid': 'vmid1',
                             'keep_alive': 0,
                             'cloud_name': 'vm-test-cloud'
                         })

    execute_csv2_request(gvar,
                         0,
                         None,
                         None,
                         '/vm/list/',
                         form_data={'group': 'vm-test-group'},
                         list='vm_list',
                         filter={
                             'group_name': 'vm-test-group',
                             'cloud_name': 'vm-test-cloud',
                             'vmid': 'vmid2'
                         },
                         values={
                             'power_status': 1,
                             'auth_url': 'vm-test-authurl',
                             'manual_control': 1,
                             'project': 'vm-test-project',
                             'status': 'ACTIVE',
                             'retire_request_time': 0,
                             'group_name': 'vm-test-group',
                             'terminate': 0,
                             'flavor_id': '4',
                             'poller_status': 'manual',
                             'foreign_vm': 0,
                             'hostname': 'vm-test-group--vm-test-cloud--vmid2',
                             'vmid': 'vmid2',
                             'keep_alive': 0,
                             'cloud_name': 'vm-test-cloud'
                         })

    execute_csv2_request(gvar,
                         0,
                         None,
                         None,
                         '/vm/list/',
                         form_data={'group': 'vm-test-group'},
                         list='vm_list',
                         filter={
                             'group_name': 'vm-test-group',
                             'cloud_name': 'vm-test-cloud',
                             'vmid': 'vmid3'
                         },
                         values={
                             'power_status': 1,
                             'auth_url': 'vm-test-authurl',
                             'manual_control': 1,
                             'project': 'vm-test-project',
                             'status': 'ACTIVE',
                             'retire_request_time': 0,
                             'group_name': 'vm-test-group',
                             'terminate': 0,
                             'flavor_id': '4',
                             'poller_status': 'manual',
                             'foreign_vm': 0,
                             'hostname': 'vm-test-group--vm-test-cloud--vmid3',
                             'vmid': 'vmid3',
                             'keep_alive': 0,
                             'cloud_name': 'vm-test-cloud'
                         })

    execute_csv2_request(gvar,
                         0,
                         None,
                         None,
                         '/vm/list/',
                         form_data={'group': 'vm-test-group'},
                         list='vm_list',
                         filter={
                             'group_name': 'vm-test-group',
                             'cloud_name': 'vm-test-cloud',
                             'vmid': 'vmid4'
                         },
                         values={
                             'power_status': 1,
                             'auth_url': 'vm-test-authurl',
                             'manual_control': 0,
                             'project': 'vm-test-project',
                             'status': 'ACTIVE',
                             'retire_request_time': None,
                             'group_name': 'vm-test-group',
                             'terminate': 0,
                             'flavor_id': '4',
                             'poller_status': 'foreign',
                             'foreign_vm': 1,
                             'hostname': 'foreign-cloud--vmid4',
                             'vmid': 'vmid4',
                             'keep_alive': 0,
                             'cloud_name': 'vm-test-cloud'
                         })

    execute_csv2_request(gvar,
                         0,
                         None,
                         None,
                         '/vm/list/',
                         form_data={'group': 'vm-test-group'},
                         list='vm_list',
                         filter={
                             'group_name': 'vm-test-group',
                             'cloud_name': 'vm-test-cloud',
                             'vmid': 'vmid5'
                         },
                         values={
                             'power_status': 1,
                             'auth_url': 'vm-test-authurl',
                             'manual_control': 0,
                             'project': 'vm-test-project',
                             'status': 'ACTIVE',
                             'retire_request_time': None,
                             'group_name': 'vm-test-group',
                             'terminate': 0,
                             'flavor_id': '4',
                             'poller_status': 'foreign',
                             'foreign_vm': 1,
                             'hostname': 'foreign-cloud--vmid5',
                             'vmid': 'vmid5',
                             'keep_alive': 0,
                             'cloud_name': 'vm-test-cloud'
                         })

    execute_csv2_request(gvar,
                         0,
                         None,
                         None,
                         '/vm/list/',
                         form_data={'group': 'vm-test-group'},
                         list='vm_list',
                         filter={
                             'group_name': 'vm-test-group',
                             'cloud_name': 'vm-test-cloud',
                             'vmid': 'vmid6'
                         },
                         values={
                             'power_status': 1,
                             'auth_url': 'vm-test-authurl',
                             'manual_control': 0,
                             'project': 'vm-test-project',
                             'status': 'ACTIVE',
                             'retire_request_time': None,
                             'group_name': 'vm-test-group',
                             'terminate': 0,
                             'flavor_id': '4',
                             'poller_status': 'foreign',
                             'foreign_vm': 1,
                             'hostname': 'foreign-cloud--vmid6',
                             'vmid': 'vmid6',
                             'keep_alive': 0,
                             'cloud_name': 'vm-test-cloud'
                         })

    # Setting System Control
    execute_csv2_request(gvar,
                         0,
                         None,
                         "vm update, VMs set to system control: 0.",
                         '/vm/update/',
                         form_data={
                             'vm_option': 'sysctl',
                             'hostname': 'foreign-cloud--vmid4'
                         })

    execute_csv2_command(gvar, 0, None,
                         'vm update, VMs set to system control: 0.', [
                             'cloudscheduler', 'vm', 'update', '-vo', 'sysctl',
                             '-vh', 'foreign-cloud--vmid4'
                         ])

    execute_csv2_request(gvar,
                         0,
                         None,
                         "vm update, VMs set to system control: 1.",
                         '/vm/update/',
                         form_data={
                             'vm_option': 'sysctl',
                             'hostname': 'vm-test-group--vm-test-cloud--vmid2'
                         })

    execute_csv2_command(gvar, 0, None,
                         'vm update, VMs set to system control: 1.', [
                             'cloudscheduler', 'vm', 'update', '-vo', 'sysctl',
                             '-vh', 'vm-test-group--vm-test-cloud--vmid3'
                         ])

    execute_csv2_request(gvar,
                         0,
                         None,
                         "vm update, VMs set to system control: 3.",
                         '/vm/update/',
                         form_data={'vm_option': 'sysctl'})

    execute_csv2_command(gvar, 0, None,
                         'vm update, VMs set to system control: 3.',
                         ['cloudscheduler', 'vm', 'update', '-vo', 'sysctl'])

    execute_csv2_request(gvar,
                         0,
                         None,
                         None,
                         '/vm/list/',
                         form_data={'group': 'vm-test-group'},
                         list='vm_list',
                         filter={
                             'group_name': 'vm-test-group',
                             'cloud_name': 'vm-test-cloud',
                             'vmid': 'vmid1'
                         },
                         values={
                             'power_status': 1,
                             'auth_url': 'vm-test-authurl',
                             'manual_control': 0,
                             'project': 'vm-test-project',
                             'status': 'ACTIVE',
                             'retire_request_time': 0,
                             'group_name': 'vm-test-group',
                             'terminate': 0,
                             'flavor_id': '5',
                             'poller_status': 'unregistered',
                             'foreign_vm': 0,
                             'hostname': 'vm-test-group--vm-test-cloud--vmid1',
                             'vmid': 'vmid1',
                             'keep_alive': 0,
                             'cloud_name': 'vm-test-cloud'
                         })

    execute_csv2_request(gvar,
                         0,
                         None,
                         None,
                         '/vm/list/',
                         form_data={'group': 'vm-test-group'},
                         list='vm_list',
                         filter={
                             'group_name': 'vm-test-group',
                             'cloud_name': 'vm-test-cloud',
                             'vmid': 'vmid2'
                         },
                         values={
                             'power_status': 1,
                             'auth_url': 'vm-test-authurl',
                             'manual_control': 0,
                             'project': 'vm-test-project',
                             'status': 'ACTIVE',
                             'retire_request_time': 0,
                             'group_name': 'vm-test-group',
                             'terminate': 0,
                             'flavor_id': '4',
                             'poller_status': 'unregistered',
                             'foreign_vm': 0,
                             'hostname': 'vm-test-group--vm-test-cloud--vmid2',
                             'vmid': 'vmid2',
                             'keep_alive': 0,
                             'cloud_name': 'vm-test-cloud'
                         })

    execute_csv2_request(gvar,
                         0,
                         None,
                         None,
                         '/vm/list/',
                         form_data={'group': 'vm-test-group'},
                         list='vm_list',
                         filter={
                             'group_name': 'vm-test-group',
                             'cloud_name': 'vm-test-cloud',
                             'vmid': 'vmid3'
                         },
                         values={
                             'power_status': 1,
                             'auth_url': 'vm-test-authurl',
                             'manual_control': 0,
                             'project': 'vm-test-project',
                             'status': 'ACTIVE',
                             'retire_request_time': 0,
                             'group_name': 'vm-test-group',
                             'terminate': 0,
                             'flavor_id': '4',
                             'poller_status': 'unregistered',
                             'foreign_vm': 0,
                             'hostname': 'vm-test-group--vm-test-cloud--vmid3',
                             'vmid': 'vmid3',
                             'keep_alive': 0,
                             'cloud_name': 'vm-test-cloud'
                         })

    execute_csv2_request(gvar,
                         0,
                         None,
                         None,
                         '/vm/list/',
                         form_data={'group': 'vm-test-group'},
                         list='vm_list',
                         filter={
                             'group_name': 'vm-test-group',
                             'cloud_name': 'vm-test-cloud',
                             'vmid': 'vmid4'
                         },
                         values={
                             'power_status': 1,
                             'auth_url': 'vm-test-authurl',
                             'manual_control': 0,
                             'project': 'vm-test-project',
                             'status': 'ACTIVE',
                             'retire_request_time': None,
                             'group_name': 'vm-test-group',
                             'terminate': 0,
                             'flavor_id': '4',
                             'poller_status': 'foreign',
                             'foreign_vm': 1,
                             'hostname': 'foreign-cloud--vmid4',
                             'vmid': 'vmid4',
                             'keep_alive': 0,
                             'cloud_name': 'vm-test-cloud'
                         })

    execute_csv2_request(gvar,
                         0,
                         None,
                         None,
                         '/vm/list/',
                         form_data={'group': 'vm-test-group'},
                         list='vm_list',
                         filter={
                             'group_name': 'vm-test-group',
                             'cloud_name': 'vm-test-cloud',
                             'vmid': 'vmid5'
                         },
                         values={
                             'power_status': 1,
                             'auth_url': 'vm-test-authurl',
                             'manual_control': 0,
                             'project': 'vm-test-project',
                             'status': 'ACTIVE',
                             'retire_request_time': None,
                             'group_name': 'vm-test-group',
                             'terminate': 0,
                             'flavor_id': '4',
                             'poller_status': 'foreign',
                             'foreign_vm': 1,
                             'hostname': 'foreign-cloud--vmid5',
                             'vmid': 'vmid5',
                             'keep_alive': 0,
                             'cloud_name': 'vm-test-cloud'
                         })

    execute_csv2_request(gvar,
                         0,
                         None,
                         None,
                         '/vm/list/',
                         form_data={'group': 'vm-test-group'},
                         list='vm_list',
                         filter={
                             'group_name': 'vm-test-group',
                             'cloud_name': 'vm-test-cloud',
                             'vmid': 'vmid6'
                         },
                         values={
                             'power_status': 1,
                             'auth_url': 'vm-test-authurl',
                             'manual_control': 0,
                             'project': 'vm-test-project',
                             'status': 'ACTIVE',
                             'retire_request_time': None,
                             'group_name': 'vm-test-group',
                             'terminate': 0,
                             'flavor_id': '4',
                             'poller_status': 'foreign',
                             'foreign_vm': 1,
                             'hostname': 'foreign-cloud--vmid6',
                             'vmid': 'vmid6',
                             'keep_alive': 0,
                             'cloud_name': 'vm-test-cloud'
                         })

    # Setting Retire
    execute_csv2_request(gvar,
                         0,
                         None,
                         "vm update, VMs retired: 0.",
                         '/vm/update/',
                         form_data={
                             'vm_option': 'retire',
                             'hostname': 'foreign-cloud--vmid4'
                         })

    execute_csv2_command(gvar, 0, None, 'vm update, VMs retired: 0.', [
        'cloudscheduler', 'vm', 'update', '-vo', 'retire', '-vh',
        'foreign-cloud--vmid4'
    ])

    execute_csv2_request(gvar,
                         0,
                         None,
                         "vm update, VMs retired: 1.",
                         '/vm/update/',
                         form_data={
                             'vm_option': 'retire',
                             'hostname': 'vm-test-group--vm-test-cloud--vmid3'
                         })

    execute_csv2_command(gvar, 0, None, 'vm update, VMs retired: 1.', [
        'cloudscheduler', 'vm', 'update', '-vo', 'retire', '-vh',
        'vm-test-group--vm-test-cloud--vmid1'
    ])

    execute_csv2_request(gvar,
                         0,
                         None,
                         "vm update, VMs retired: 3.",
                         '/vm/update/',
                         form_data={'vm_option': 'retire'})

    execute_csv2_command(gvar, 0, None, 'vm update, VMs retired: 3.',
                         ['cloudscheduler', 'vm', 'update', '-vo', 'retire'])

    execute_csv2_request(gvar,
                         0,
                         None,
                         None,
                         '/vm/list/',
                         form_data={'group': 'vm-test-group'},
                         list='vm_list',
                         filter={
                             'group_name': 'vm-test-group',
                             'cloud_name': 'vm-test-cloud',
                             'vmid': 'vmid4'
                         },
                         values={
                             'power_status': 1,
                             'auth_url': 'vm-test-authurl',
                             'manual_control': 0,
                             'project': 'vm-test-project',
                             'status': 'ACTIVE',
                             'retire_request_time': None,
                             'group_name': 'vm-test-group',
                             'terminate': 0,
                             'flavor_id': '4',
                             'poller_status': 'foreign',
                             'foreign_vm': 1,
                             'hostname': 'foreign-cloud--vmid4',
                             'vmid': 'vmid4',
                             'keep_alive': 0,
                             'cloud_name': 'vm-test-cloud'
                         })

    execute_csv2_request(gvar,
                         0,
                         None,
                         None,
                         '/vm/list/',
                         form_data={'group': 'vm-test-group'},
                         list='vm_list',
                         filter={
                             'group_name': 'vm-test-group',
                             'cloud_name': 'vm-test-cloud',
                             'vmid': 'vmid5'
                         },
                         values={
                             'power_status': 1,
                             'auth_url': 'vm-test-authurl',
                             'manual_control': 0,
                             'project': 'vm-test-project',
                             'status': 'ACTIVE',
                             'retire_request_time': None,
                             'group_name': 'vm-test-group',
                             'terminate': 0,
                             'flavor_id': '4',
                             'poller_status': 'foreign',
                             'foreign_vm': 1,
                             'hostname': 'foreign-cloud--vmid5',
                             'vmid': 'vmid5',
                             'keep_alive': 0,
                             'cloud_name': 'vm-test-cloud'
                         })

    execute_csv2_request(gvar,
                         0,
                         None,
                         None,
                         '/vm/list/',
                         form_data={'group': 'vm-test-group'},
                         list='vm_list',
                         filter={
                             'group_name': 'vm-test-group',
                             'cloud_name': 'vm-test-cloud',
                             'vmid': 'vmid6'
                         },
                         values={
                             'power_status': 1,
                             'auth_url': 'vm-test-authurl',
                             'manual_control': 0,
                             'project': 'vm-test-project',
                             'status': 'ACTIVE',
                             'retire_request_time': None,
                             'group_name': 'vm-test-group',
                             'terminate': 0,
                             'flavor_id': '4',
                             'poller_status': 'foreign',
                             'foreign_vm': 1,
                             'hostname': 'foreign-cloud--vmid6',
                             'vmid': 'vmid6',
                             'keep_alive': 0,
                             'cloud_name': 'vm-test-cloud'
                         })

    # Setting Kill
    execute_csv2_request(gvar,
                         0,
                         None,
                         "vm update, VMs killed: 0.",
                         '/vm/update/',
                         form_data={
                             'vm_option': 'kill',
                             'hostname': 'foreign-cloud--vmid4'
                         })

    execute_csv2_command(gvar, 0, None, 'vm update, VMs killed: 0.', [
        'cloudscheduler', 'vm', 'update', '-vo', 'kill', '-vh',
        'foreign-cloud--vmid4'
    ])

    execute_csv2_request(gvar,
                         0,
                         None,
                         "vm update, VMs killed: 1.",
                         '/vm/update/',
                         form_data={
                             'vm_option': 'kill',
                             'hostname': 'vm-test-group--vm-test-cloud--vmid1'
                         })

    execute_csv2_command(gvar, 0, None, 'vm update, VMs killed: 1.', [
        'cloudscheduler', 'vm', 'update', '-vo', 'kill', '-vh',
        'vm-test-group--vm-test-cloud--vmid2'
    ])

    execute_csv2_request(gvar,
                         0,
                         None,
                         "vm update, VMs killed: 3.",
                         '/vm/update/',
                         form_data={'vm_option': 'kill'})

    execute_csv2_command(gvar, 0, None, 'vm update, VMs killed: 3.',
                         ['cloudscheduler', 'vm', 'update', '-vo', 'kill'])

    execute_csv2_request(gvar,
                         0,
                         None,
                         None,
                         '/vm/list/',
                         form_data={'group': 'vm-test-group'},
                         list='vm_list',
                         filter={
                             'group_name': 'vm-test-group',
                             'cloud_name': 'vm-test-cloud',
                             'vmid': 'vmid1'
                         },
                         values={
                             'power_status': 1,
                             'auth_url': 'vm-test-authurl',
                             'manual_control': 0,
                             'project': 'vm-test-project',
                             'status': 'ACTIVE',
                             'group_name': 'vm-test-group',
                             'terminate': 1,
                             'flavor_id': '5',
                             'poller_status': 'unregistered',
                             'foreign_vm': 0,
                             'hostname': 'vm-test-group--vm-test-cloud--vmid1',
                             'vmid': 'vmid1',
                             'keep_alive': 0,
                             'cloud_name': 'vm-test-cloud'
                         })

    execute_csv2_request(gvar,
                         0,
                         None,
                         None,
                         '/vm/list/',
                         form_data={'group': 'vm-test-group'},
                         list='vm_list',
                         filter={
                             'group_name': 'vm-test-group',
                             'cloud_name': 'vm-test-cloud',
                             'vmid': 'vmid2'
                         },
                         values={
                             'power_status': 1,
                             'auth_url': 'vm-test-authurl',
                             'manual_control': 0,
                             'project': 'vm-test-project',
                             'status': 'ACTIVE',
                             'group_name': 'vm-test-group',
                             'terminate': 1,
                             'flavor_id': '4',
                             'poller_status': 'unregistered',
                             'foreign_vm': 0,
                             'hostname': 'vm-test-group--vm-test-cloud--vmid2',
                             'vmid': 'vmid2',
                             'keep_alive': 0,
                             'cloud_name': 'vm-test-cloud'
                         })

    execute_csv2_request(gvar,
                         0,
                         None,
                         None,
                         '/vm/list/',
                         form_data={'group': 'vm-test-group'},
                         list='vm_list',
                         filter={
                             'group_name': 'vm-test-group',
                             'cloud_name': 'vm-test-cloud',
                             'vmid': 'vmid3'
                         },
                         values={
                             'power_status': 1,
                             'auth_url': 'vm-test-authurl',
                             'manual_control': 0,
                             'project': 'vm-test-project',
                             'status': 'ACTIVE',
                             'group_name': 'vm-test-group',
                             'terminate': 1,
                             'flavor_id': '4',
                             'poller_status': 'unregistered',
                             'foreign_vm': 0,
                             'hostname': 'vm-test-group--vm-test-cloud--vmid3',
                             'vmid': 'vmid3',
                             'keep_alive': 0,
                             'cloud_name': 'vm-test-cloud'
                         })

    execute_csv2_request(gvar,
                         0,
                         None,
                         None,
                         '/vm/list/',
                         form_data={'group': 'vm-test-group'},
                         list='vm_list',
                         filter={
                             'group_name': 'vm-test-group',
                             'cloud_name': 'vm-test-cloud',
                             'vmid': 'vmid4'
                         },
                         values={
                             'power_status': 1,
                             'auth_url': 'vm-test-authurl',
                             'manual_control': 0,
                             'project': 'vm-test-project',
                             'status': 'ACTIVE',
                             'retire_request_time': None,
                             'group_name': 'vm-test-group',
                             'terminate': 0,
                             'flavor_id': '4',
                             'poller_status': 'foreign',
                             'foreign_vm': 1,
                             'hostname': 'foreign-cloud--vmid4',
                             'vmid': 'vmid4',
                             'keep_alive': 0,
                             'cloud_name': 'vm-test-cloud'
                         })

    execute_csv2_request(gvar,
                         0,
                         None,
                         None,
                         '/vm/list/',
                         form_data={'group': 'vm-test-group'},
                         list='vm_list',
                         filter={
                             'group_name': 'vm-test-group',
                             'cloud_name': 'vm-test-cloud',
                             'vmid': 'vmid5'
                         },
                         values={
                             'power_status': 1,
                             'auth_url': 'vm-test-authurl',
                             'manual_control': 0,
                             'project': 'vm-test-project',
                             'status': 'ACTIVE',
                             'retire_request_time': None,
                             'group_name': 'vm-test-group',
                             'terminate': 0,
                             'flavor_id': '4',
                             'poller_status': 'foreign',
                             'foreign_vm': 1,
                             'hostname': 'foreign-cloud--vmid5',
                             'vmid': 'vmid5',
                             'keep_alive': 0,
                             'cloud_name': 'vm-test-cloud'
                         })

    execute_csv2_request(gvar,
                         0,
                         None,
                         None,
                         '/vm/list/',
                         form_data={'group': 'vm-test-group'},
                         list='vm_list',
                         filter={
                             'group_name': 'vm-test-group',
                             'cloud_name': 'vm-test-cloud',
                             'vmid': 'vmid6'
                         },
                         values={
                             'power_status': 1,
                             'auth_url': 'vm-test-authurl',
                             'manual_control': 0,
                             'project': 'vm-test-project',
                             'status': 'ACTIVE',
                             'retire_request_time': None,
                             'group_name': 'vm-test-group',
                             'terminate': 0,
                             'flavor_id': '4',
                             'poller_status': 'foreign',
                             'foreign_vm': 1,
                             'hostname': 'foreign-cloud--vmid6',
                             'vmid': 'vmid6',
                             'keep_alive': 0,
                             'cloud_name': 'vm-test-cloud'
                         })
def main(gvar, user_secret):
    if not gvar:
        gvar = {}
        if len(argv) > 1:
            initialize_csv2_request(gvar, argv[0], selections=argv[1])
        else:
            initialize_csv2_request(gvar, argv[0])

    execute_csv2_command(
        gvar, 1, None, 'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'cloud', 'delete', '-s', 'unit-test-un']
    )

    execute_csv2_command(
        gvar, 1, None, 'The following command line arguments were unrecognized: [\'-xx\', \'yy\']',
        ['cloudscheduler', 'cloud', 'delete', '-xx', 'yy']
    )

    execute_csv2_command(
        gvar, 1, None, 'The following command line arguments were invalid: metadata-mime-type',
        ['cloudscheduler', 'cloud', 'delete', '-mmt', 'invalid-unit-test']
    )

    execute_csv2_command(
        gvar, 1, None, 'Error: the specified server "invalid-unit-test" does not exist in your defaults.',
        ['cloudscheduler', 'cloud', 'delete', '-s', 'invalid-unit-test']
    )

    execute_csv2_command(
        gvar, 1, None, 'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'cloud', 'delete', '-s', 'unit-test-un']
    )

    execute_csv2_command(
        gvar, 0, None, 'Help requested for "cloudscheduler cloud delete".',
        ['cloudscheduler', 'cloud', 'delete', '-h']
    )

    execute_csv2_command(
        gvar, 0, None, 'General Commands Manual',
        ['cloudscheduler', 'cloud', 'delete', '-H']
    )

    execute_csv2_command(
        gvar, 1, None, 'Expose API requested',
        ['cloudscheduler', 'cloud', 'delete', '-xA']
    )

    execute_csv2_command(
        gvar, 1, None, 'cannot switch to invalid group "invalid-unit-test".',
        ['cloudscheduler', 'cloud', 'delete', '-g', 'invalid-unit-test']
    )

    execute_csv2_command(
        gvar, 1, None, 'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'cloud', 'delete', '-g', ut_id(gvar, 'clg1')]
    )

    execute_csv2_command(
        gvar, 1, None, 'cannot delete "invalid-unit-test", cloud doesn\\\'t exist in group "{}".'.format(ut_id(gvar, 'clg1')),
        ['cloudscheduler', 'cloud', 'delete', '-cn', 'invalid-unit-test']
    )

    execute_csv2_command(
        gvar, 0, None, 'cloud "{}::{}" successfully deleted.'.format(ut_id(gvar, 'clg1'), ut_id(gvar, 'clc1')),
        ['cloudscheduler', 'cloud', 'delete', '-cn', ut_id(gvar, 'clc1'), '-Y']
    )

    execute_csv2_command(
        gvar, 0, None, 'cloud "{}::{}" successfully deleted.'.format(ut_id(gvar, 'clg1'), ut_id(gvar, 'clc3')),
        ['cloudscheduler', 'cloud', 'delete', '-cn', ut_id(gvar, 'clc3'), '-Y', '-s', 'unit-test', '-g', ut_id(gvar, 'clg1')]
    )
def main(gvar, user_secret):
    if not gvar:
        gvar = {}
        if len(argv) > 1:
            initialize_csv2_request(gvar, argv[0], selections=argv[1])
        else:
            initialize_csv2_request(gvar, argv[0])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were unrecognized: [\'-xx\', \'yy\']',
        [
            'cloudscheduler', 'cloud', 'metadata-collation', '-xx', 'yy', '-s',
            'unit-test-un'
        ])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were invalid: metadata-mime-type',
        [
            'cloudscheduler', 'cloud', 'metadata-collation', '-mmt',
            'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, None,
        'Error: the specified server "invalid-unit-test" does not exist in your defaults.',
        [
            'cloudscheduler', 'cloud', 'metadata-collation', '-s',
            'invalid-unit-test'
        ])

    execute_csv2_command(gvar, 0, None, None, [
        'cloudscheduler', 'cloud', 'metadata-collation', '-s', 'unit-test-un'
    ])

    execute_csv2_command(
        gvar, 0, None,
        'Help requested for "cloudscheduler cloud metadata-collation".',
        ['cloudscheduler', 'cloud', 'metadata-collation', '-h'])

    execute_csv2_command(
        gvar, 0, None, 'General Commands Manual',
        ['cloudscheduler', 'cloud', 'metadata-collation', '-H'])

    execute_csv2_command(
        gvar, 0, None, 'Expose API requested',
        ['cloudscheduler', 'cloud', 'metadata-collation', '-xA'])

    execute_csv2_command(
        gvar, 1, None, 'cannot switch to invalid group "invalid-unit-test".', [
            'cloudscheduler', 'cloud', 'metadata-collation', '-g',
            'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 0, None,
        'Server: unit-test-un, Active User: {}, Active Group: {}'.format(
            ut_id(gvar, 'test'), ut_id(gvar, 'clg1')), [
                'cloudscheduler', 'cloud', 'metadata-collation', '-g',
                ut_id(gvar, 'clg1')
            ])

    execute_csv2_command(
        gvar, 0, None,
        'Server: unit-test, Active User: {}, Active Group: {}'.format(
            ut_id(gvar, '')[:-1], ut_id(gvar, 'clg1')), [
                'cloudscheduler', 'cloud', 'metadata-collation', '-s',
                'unit-test', '-g',
                ut_id(gvar, 'clg1')
            ])

    execute_csv2_command(
        gvar, 0, None,
        'Server: unit-test-un, Active User: {}, Active Group: {}'.format(
            ut_id(gvar, 'test'), ut_id(gvar, 'clg1')), [
                'cloudscheduler', 'cloud', 'metadata-collation', '-s',
                'unit-test-un'
            ])

    execute_csv2_command(gvar, 0, None, 'Rows: 0', [
        'cloudscheduler', 'cloud', 'metadata-collation', '-cn',
        'invalid-unit-test'
    ])

    execute_csv2_command(
        gvar,
        0,
        None,
        None, ['cloudscheduler', 'cloud', 'metadata-collation', '-ok'],
        list='Clouds/Metadata Collation',
        columns=['Group', 'Cloud', 'Metadata Filename'])

    execute_csv2_command(
        gvar, 0, None,
        'cloud metadata-collation, table #1 columns: keys=group_name,cloud_name,metadata_name, columns=priority,type',
        ['cloudscheduler', 'cloud', 'metadata-collation', '-VC'])

    execute_csv2_command(
        gvar,
        0,
        None,
        None, ['cloudscheduler', 'cloud', 'metadata-collation', '-NV'],
        list='Clouds/Metadata Collation',
        columns=['Group', 'Cloud', 'Metadata Filename', 'Priority', 'Type'])

    execute_csv2_command(
        gvar,
        0,
        None,
        None, ['cloudscheduler', 'cloud', 'metadata-collation', '-V', 'type'],
        list='Clouds/Metadata Collation',
        columns=['Group', 'Cloud', 'Metadata Filename', 'Type'])

    execute_csv2_command(
        gvar,
        0,
        None,
        None, ['cloudscheduler', 'cloud', 'metadata-collation'],
        list='Clouds/Metadata Collation',
        columns=['Group', 'Cloud', 'Metadata Filename', 'Type'])

    execute_csv2_command(
        gvar,
        0,
        None,
        None, ['cloudscheduler', 'cloud', 'metadata-collation', '-V', ''],
        list='Clouds/Metadata Collation',
        columns=['Group', 'Cloud', 'Metadata Filename', 'Priority', 'Type'])

    execute_csv2_command(
        gvar,
        0,
        None,
        None, ['cloudscheduler', 'cloud', 'metadata-collation', '-r'],
        list='Clouds/Metadata Collation',
        columns=['Key', 'Value'])
def main(gvar, user_secret):
    if not gvar:
        gvar = {}
        if len(argv) > 1:
            initialize_csv2_request(gvar, argv[0], selections=argv[1])
        else:
            initialize_csv2_request(gvar, argv[0])

    execute_csv2_command(gvar, 0, None, 'Active Group/Metadata:',
                         ['cloudscheduler', 'metadata', 'list'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were unrecognized: [\'-xx\', \'yy\']',
        ['cloudscheduler', 'metadata', 'list', '-xx', 'yy'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were invalid: job-cores',
        ['cloudscheduler', 'metadata', 'list', '-jc', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'Error: the specified server "invalid-unit-test" does not exist in your defaults.',
        ['cloudscheduler', 'metadata', 'list', '-s', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 0, None, None,
        ['cloudscheduler', 'metadata', 'list', '-s', 'unit-test-un'])

    execute_csv2_command(gvar, 0, None,
                         'Help requested for "cloudscheduler metadata list".',
                         ['cloudscheduler', 'metadata', 'list', '-h'])

    execute_csv2_command(gvar, 0, None, 'General Commands Manual',
                         ['cloudscheduler', 'metadata', 'list', '-H'])

    execute_csv2_command(gvar, 0, None, 'Expose API requested',
                         ['cloudscheduler', 'metadata', 'list', '-xA'])

    execute_csv2_command(
        gvar, 1, None, 'cannot switch to invalid group "invalid-unit-test".',
        ['cloudscheduler', 'metadata', 'list', '-g', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 0, None, 'Active Group/Metadata:',
        ['cloudscheduler', 'metadata', 'list', '-g',
         ut_id(gvar, 'clg1')])

    execute_csv2_command(
        gvar, 0, None, 'Rows: 0',
        ['cloudscheduler', 'metadata', 'list', '-mn', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 0, None, 'Active Group/Metadata:',
        ['cloudscheduler', 'metadata', 'list', '-mn',
         ut_id(gvar, 'clm2')])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'metadata', 'list', '-ok'],
                         list='Active Group/Metadata',
                         columns=['Group', 'Metadata Filename'])

    execute_csv2_command(
        gvar, 0, None,
        'metadata list, table #1 columns: keys=group_name,metadata_name, columns=enabled,priority,mime_type',
        ['cloudscheduler', 'metadata', 'list', '-VC'])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'metadata', 'list', '-NV'],
                         list='Active Group/Metadata',
                         columns=[
                             'Group', 'Metadata Filename', 'Enabled',
                             'Priority', 'MIME Type'
                         ])

    execute_csv2_command(
        gvar,
        0,
        None,
        None, ['cloudscheduler', 'metadata', 'list', '-V', 'enabled'],
        list='Active Group/Metadata',
        columns=['Group', 'Metadata Filename', 'Enabled'])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'metadata', 'list'],
                         list='Active Group/Metadata',
                         columns=['Group', 'Metadata Filename', 'Enabled'])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'metadata', 'list', '-r'],
                         list='Active Group/Metadata',
                         columns=['Key', 'Value'])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None,
                         ['cloudscheduler', 'metadata', 'list', '-V', ''],
                         list='Active Group/Metadata',
                         columns=[
                             'Group', 'Metadata Filename', 'Enabled',
                             'Priority', 'MIME Type'
                         ])
Exemple #21
0
def main(gvar, user_secret):
    if not gvar:
        gvar = {}
        if len(argv) > 1:
            initialize_csv2_request(gvar, argv[0], selections=argv[1])
        else:
            initialize_csv2_request(gvar, argv[0])

    execute_csv2_command(
        gvar, 1, None,
        'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'cloud', 'metadata-edit'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were unrecognized: [\'-xx\', \'yy\']',
        ['cloudscheduler', 'cloud', 'metadata-edit', '-xx', 'yy'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were invalid: metadata-mime-type',
        [
            'cloudscheduler', 'cloud', 'metadata-edit', '-mmt',
            'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, None,
        'Error: the specified server "invalid-unit-test" does not exist in your defaults.',
        [
            'cloudscheduler', 'cloud', 'metadata-edit', '-s',
            'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, None,
        'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'cloud', 'metadata-edit', '-s', 'unit-test-un'])

    execute_csv2_command(
        gvar, 0, None,
        'Help requested for "cloudscheduler cloud metadata-edit".',
        ['cloudscheduler', 'cloud', 'metadata-edit', '-h'])

    execute_csv2_command(gvar, 0, None, 'General Commands Manual',
                         ['cloudscheduler', 'cloud', 'metadata-edit', '-H'])

    execute_csv2_command(gvar, 1, None, 'Expose API requested',
                         ['cloudscheduler', 'cloud', 'metadata-edit', '-xA'])

    execute_csv2_command(
        gvar, 1, None, 'cannot switch to invalid group "invalid-unit-test".', [
            'cloudscheduler', 'cloud', 'metadata-edit', '-g',
            'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, None,
        'the following mandatory parameters must be specfied on the command line',
        [
            'cloudscheduler', 'cloud', 'metadata-edit', '-g',
            ut_id(gvar, 'clg1')
        ])

    execute_csv2_command(
        gvar, 1, None,
        'no value, neither default nor command line, for the following required parameters',
        [
            'cloudscheduler', 'cloud', 'metadata-edit', '-cn',
            'invalid-unit-test', '-mn', 'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, None,
        'received an invalid metadata file id "{}::invalid-unit-test::invalid-unit-test".'
        .format(ut_id(gvar, 'clg1')), [
            'cloudscheduler', 'cloud', 'metadata-edit', '-cn',
            'invalid-unit-test', '-mn', 'invalid-unit-test', '-te',
            'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, None,
        'received an invalid metadata file id "{}::{}::invalid-unit-test".'.
        format(ut_id(gvar, 'clg1'), ut_id(gvar, 'clc2')), [
            'cloudscheduler', 'cloud', 'metadata-edit', '-cn',
            ut_id(gvar, 'clc2'), '-mn', 'invalid-unit-test', '-te',
            'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, None,
        'received an invalid metadata file id "{}::invalid-unit-test::{}".'.
        format(ut_id(gvar, 'clg1'), ut_id(gvar, 'clm2')), [
            'cloudscheduler', 'cloud', 'metadata-edit', '-cn',
            'invalid-unit-test', '-mn',
            ut_id(gvar, 'clm2'), '-te', 'invalid-unit-test'
        ])

    execute_csv2_command(gvar, 1, None, None, [
        'cloudscheduler', 'cloud', 'metadata-edit', '-cn',
        ut_id(gvar, 'clc2'), '-mn',
        ut_id(gvar, 'clm2'), '-te', 'invalid-unit-test'
    ])

    environ['EDITOR'] = './editscript5'

    execute_csv2_command(gvar, 0, None, 'completed, no changes.', [
        'cloudscheduler', 'cloud', 'metadata-edit', '-cn',
        ut_id(gvar, 'clc2'), '-mn',
        ut_id(gvar, 'clm2')
    ])

    environ.pop('EDITOR')

    execute_csv2_command(
        gvar, 1, None,
        'Error: "cloudscheduler cloud metadata-edit" - no value, neither default nor command line, for the following required parameters:',
        [
            'cloudscheduler', 'cloud', 'metadata-edit', '-cn',
            ut_id(gvar, 'clc2'), '-mn',
            ut_id(gvar, 'clm2')
        ])

    # The edit scripts in the next 8 tests will break easily as they rely on some system variables
    execute_csv2_command(gvar, 0, None, 'completed, no changes.', [
        'cloudscheduler', 'cloud', 'metadata-edit', '-cn',
        ut_id(gvar, 'clc2'), '-mn',
        ut_id(gvar, 'clm2'), '-te', './editscript5'
    ])

    execute_csv2_command(gvar, 0, None, 'successfully  updated.', [
        'cloudscheduler', 'cloud', 'metadata-edit', '-cn',
        ut_id(gvar, 'clc2'), '-mn',
        ut_id(gvar, 'clm2'), '-te', './editscript6-un'
    ])

    execute_csv2_command(gvar, 0, None, 'successfully  updated.', [
        'cloudscheduler', 'cloud', 'metadata-edit', '-cn',
        ut_id(gvar, 'clc2'), '-mn',
        ut_id(gvar, 'clm2.yaml'), '-te', './editscript7-un'
    ])

    execute_csv2_command(
        gvar, 1, None,
        'Invalid yaml file "scanner error": mapping values are not allowed here',
        [
            'cloudscheduler', 'cloud', 'metadata-edit', '-cn',
            ut_id(gvar, 'clc2'), '-mn',
            ut_id(gvar, 'clm2.yaml'), '-te', './editscript8-un'
        ])

    execute_csv2_command(gvar, 0, None, 'completed, no changes.', [
        'cloudscheduler', 'cloud', 'metadata-edit', '-g',
        ut_id(gvar, 'clg1'), '-cn',
        ut_id(gvar, 'clc2'), '-mn',
        ut_id(gvar, 'clm2'), '-te', './editscript5', '-s', 'unit-test'
    ])

    execute_csv2_command(gvar, 0, None, 'successfully  updated.', [
        'cloudscheduler', 'cloud', 'metadata-edit', '-cn',
        ut_id(gvar, 'clc2'), '-mn',
        ut_id(gvar, 'clm2'), '-te', './editscript6'
    ])

    execute_csv2_command(gvar, 0, None, 'successfully  updated.', [
        'cloudscheduler', 'cloud', 'metadata-edit', '-cn',
        ut_id(gvar, 'clc2'), '-mn',
        ut_id(gvar, 'clm2.yaml'), '-te', './editscript7'
    ])

    execute_csv2_command(
        gvar, 1, None,
        'Invalid yaml file "scanner error": mapping values are not allowed here',
        [
            'cloudscheduler', 'cloud', 'metadata-edit', '-cn',
            ut_id(gvar, 'clc2'), '-mn',
            ut_id(gvar, 'clm2.yaml'), '-te', './editscript8'
        ])
def main(gvar, user_secret):
    if not gvar:
        gvar = {}
        if len(argv) > 1:
            initialize_csv2_request(gvar, argv[0], selections=argv[1])
        else:
            initialize_csv2_request(gvar, argv[0])

    execute_csv2_command(
        gvar, 1, None,
        'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'group', 'update', '-s', 'unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were unrecognized: [\'-xx\', \'yy\']',
        ['cloudscheduler', 'group', 'update', '-xx', 'yy'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were invalid: job-cores',
        ['cloudscheduler', 'group', 'update', '-jc', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'Error: the specified server "invalid-unit-test" does not exist in your defaults.',
        ['cloudscheduler', 'group', 'update', '-s', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None, None,
        ['cloudscheduler', 'group', 'update', '-s', 'unit-test'])

    execute_csv2_command(gvar, 0, None,
                         'Help requested for "cloudscheduler group update".',
                         ['cloudscheduler', 'group', 'update', '-h'])

    execute_csv2_command(gvar, 0, None, 'General Commands Manual',
                         ['cloudscheduler', 'group', 'update', '-H'])

    execute_csv2_command(gvar, 1, None, 'Expose API requested',
                         ['cloudscheduler', 'group', 'metadataupdate', '-xA'])

    execute_csv2_command(
        gvar, 1, None, 'cannot switch to invalid group "invalid-unit-test".',
        ['cloudscheduler', 'group', 'update', '-g', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'group', 'update', '-g',
         ut_id(gvar, 'clg1')])

    execute_csv2_command(
        gvar, 1, None, 'requires at least one option to update.',
        ['cloudscheduler', 'group', 'update', '-gn', 'invalid-unit-test'])

    execute_csv2_command(gvar, 1, 'GV44',
                         'the request did not match any rows.', [
                             'cloudscheduler', 'group', 'update', '-gn',
                             'invalid-unit-test', '-gm', 'invalid-unit-test'
                         ])

    execute_csv2_command(gvar, 1, None,
                         'specified user "invalid-unit-test" does not exist.',
                         [
                             'cloudscheduler', 'group', 'update', '-gn',
                             ut_id(gvar, 'clg1'), '-un', 'invalid-unit-test'
                         ])

    execute_csv2_command(
        gvar, 1, None,
        r'value specified for "user_option" must be one of the following options: [\'add\', \'delete\'].',
        [
            'cloudscheduler', 'group', 'update', '-gn',
            ut_id(gvar, 'clg1'), '-uo', 'invalid-unit-test'
        ])

    execute_csv2_command(gvar, 1, None,
                         'must specify at least one field to update.', [
                             'cloudscheduler', 'group', 'update', '-gn',
                             ut_id(gvar, 'clg1'), '-uo', 'add'
                         ])

    execute_csv2_command(gvar, 1, None,
                         'must specify at least one field to update.', [
                             'cloudscheduler', 'group', 'update', '-gn',
                             ut_id(gvar, 'clg1'), '-uo', 'delete'
                         ])

    execute_csv2_command(
        gvar, 1, 'GV42',
        'group update parameter "condor_central_manager" contains an empty string which is specifically disallowed.',
        [
            'cloudscheduler', 'group', 'update', '-gn',
            ut_id(gvar, 'clg1'), '-gm', ''
        ])

    execute_csv2_command(
        gvar, 1, 'GV43',
        'group add, "{}" failed - user "{}" was specified twice.'.format(
            ut_id(gvar, 'clg1'), ut_id(gvar, 'clu3')), [
                'cloudscheduler', 'group', 'update', '-gn',
                ut_id(gvar, 'clg1'), '-un',
                ut_id(gvar, 'clu3,clu3')
            ])

    execute_csv2_command(
        gvar, 0, None,
        'group "{}" successfully updated.'.format(ut_id(gvar, 'clg1')), [
            'cloudscheduler', 'group', 'update', '-gn',
            ut_id(gvar, 'clg1'), '-gm', 'unit-test-group-update.ca'
        ])

    execute_csv2_command(
        gvar, 0, None, 'unit-test-group-update.ca',
        ['cloudscheduler', 'group', 'list', '-gn',
         ut_id(gvar, 'clg1')])

    execute_csv2_command(gvar, 1, None,
                         'You are not authorized to access object "group";', [
                             'cloudscheduler', 'group', 'update', '-gn',
                             ut_id(gvar, 'clg1'), '-un',
                             ut_id(gvar, 'clu3,clu7'), '-s', 'unit-test-un'
                         ])

    execute_csv2_command(
        gvar, 0, None,
        'group "{}" successfully updated.'.format(ut_id(gvar, 'clg1')), [
            'cloudscheduler', 'group', 'update', '-gn',
            ut_id(gvar, 'clg1'), '-un',
            ut_id(gvar, 'clu3,clu7'), '-s', 'unit-test'
        ])

    execute_csv2_command(
        gvar, 0, None, ut_id(gvar, 'clg1'),
        ['cloudscheduler', 'user', 'list', '-un',
         ut_id(gvar, 'clu3')])

    execute_csv2_command(
        gvar, 0, None, ut_id(gvar, 'clg1'),
        ['cloudscheduler', 'user', 'list', '-un',
         ut_id(gvar, 'clu7')])

    execute_csv2_command(
        gvar, 0, None,
        'group "{}" successfully updated.'.format(ut_id(gvar, 'clg1')), [
            'cloudscheduler', 'group', 'update', '-gn',
            ut_id(gvar, 'clg1'), '-un',
            ut_id(gvar, 'clu3,clu7'), '-uo', 'delete'
        ])

    execute_csv2_command(
        gvar, 0, None, 'None',
        ['cloudscheduler', 'user', 'list', '-un',
         ut_id(gvar, 'clu7')])

    execute_csv2_command(
        gvar, 0, None,
        'group "{}" successfully updated.'.format(ut_id(gvar, 'clg1')), [
            'cloudscheduler', 'group', 'update', '-gn',
            ut_id(gvar, 'clg1'), '-un',
            ut_id(gvar, 'clu3'), '-uo', 'add'
        ])

    execute_csv2_command(
        gvar, 0, None, ut_id(gvar, 'clg1'),
        ['cloudscheduler', 'user', 'list', '-un',
         ut_id(gvar, 'clu3')])

    execute_csv2_command(
        gvar, 0, None, 'None',
        ['cloudscheduler', 'user', 'list', '-un',
         ut_id(gvar, 'clu7')])

    execute_csv2_command(
        gvar, 0, None,
        'group "{}" successfully updated.'.format(ut_id(gvar, 'clg1')), [
            'cloudscheduler', 'group', 'update', '-gn',
            ut_id(gvar, 'clg1'), '-un',
            ut_id(gvar, 'clu3'), '-uo', 'delete'
        ])

    execute_csv2_command(
        gvar, 0, None, 'None',
        ['cloudscheduler', 'user', 'list', '-un',
         ut_id(gvar, 'clu7')])

    execute_csv2_command(
        gvar, 0, None,
        'group "{}" successfully updated.'.format(ut_id(gvar, 'clg1')), [
            'cloudscheduler', 'group', 'update', '-gn',
            ut_id(gvar, 'clg1'), '-un',
            ut_id(gvar, 'clu3,clu7'), '-uo', 'add'
        ])

    execute_csv2_command(
        gvar, 0, None, ut_id(gvar, 'clg1'),
        ['cloudscheduler', 'user', 'list', '-un',
         ut_id(gvar, 'clu3')])

    execute_csv2_command(
        gvar, 0, None, ut_id(gvar, 'clg1'),
        ['cloudscheduler', 'user', 'list', '-un',
         ut_id(gvar, 'clu7')])
def main(gvar, user_secret):
    if not gvar:
        gvar = {}
        if len(argv) > 1:
            initialize_csv2_request(gvar, argv[0], selections=argv[1])
        else:
            initialize_csv2_request(gvar, argv[0])

    # set profile
    execute_csv2_command(
        gvar, 1, None, 'You are not authorized to access object "user";',
        ['cloudscheduler', 'user', 'list', '-s', 'unit-test-un'])

    # set profile
    execute_csv2_command(gvar, 0, None, None,
                         ['cloudscheduler', 'user', 'list', '-s', 'unit-test'])

    execute_csv2_command(gvar, 1, None,
                         'No action specified for object "user"',
                         ['cloudscheduler', 'user'])

    execute_csv2_command(
        gvar, 1, None, 'Invalid action "invalid-unit-test" for object "user"',
        ['cloudscheduler', 'user', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'Error: the specified server "invalid-unit-test" does not exist in your defaults.',
        ['cloudscheduler', 'user', '-s', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'No action specified for object "user"; use -h or -H for help.',
        ['cloudscheduler', 'user', '-s', 'unit-test'])

    execute_csv2_command(gvar, 0, None,
                         'Help requested for "cloudscheduler user".',
                         ['cloudscheduler', 'user', '-h'])

    execute_csv2_command(gvar, 0, None, 'General Commands Manual',
                         ['cloudscheduler', 'user', '-H'])

    #### ADD ####
    execute_csv2_command(
        gvar, 1, None,
        'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'user', 'add'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were unrecognized',
        ['cloudscheduler', 'user', 'add', '-xx', 'yy'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were invalid: group-option',
        ['cloudscheduler', 'user', 'add', '-go', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'Error: the specified server "invalid-unit-test" does not exist in your defaults.',
        ['cloudscheduler', 'user', 'add', '-s', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'user', 'add', '-s', 'unit-test'])

    execute_csv2_command(gvar, 0, None,
                         'Help requested for "cloudscheduler user add".',
                         ['cloudscheduler', 'user', 'add', '-h'])

    execute_csv2_command(gvar, 0, None, 'General Commands Manual',
                         ['cloudscheduler', 'user', 'add', '-H'])

    execute_csv2_command(gvar, 1, None, 'Expose API requested',
                         ['cloudscheduler', 'user', 'add', '-xA'])

    execute_csv2_command(
        gvar, 1, None,
        'the following mandatory parameters must be specfied on the command line',
        [
            'cloudscheduler', 'user', 'add', '-un',
            ut_id(gvar, 'cli-invalid-unit-test')
        ])

    execute_csv2_command(
        gvar, 1, None,
        'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'user', 'add', '-ucn', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'user', 'add', '-upw', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, 'UV01',
        'value specified for a password is less than 6 characters.', [
            'cloudscheduler', 'user', 'add', '-un',
            ut_id(gvar, 'cli-invalid-unit-test'), '-upw', 'test', '-ucn',
            'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, 'UV01',
        'value specified for a password is less then 16 characters, and does not contain a mixture of upper, lower, and numerics.',
        [
            'cloudscheduler', 'user', 'add', '-un',
            ut_id(gvar, 'cli-invalid-unit-test'), '-upw', 'invalid', '-ucn',
            'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, 'UV01',
        'value specified for "username" must be all lower case.', [
            'cloudscheduler', 'user', 'add', '-un', 'Invalid-Unit-Test',
            '-upw', 'invalid-unit-test', '-ucn', 'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, 'UV03', 'specified group "invalid-unit-test" does not exist.',
        [
            'cloudscheduler', 'user', 'add', '-un',
            ut_id(gvar, 'cli-invalid-unit-test'), '-upw', 'invalid-unit-test',
            '-ucn', 'invalid-unit-test', '-gn', 'invalid-unit-test'
        ])

    execute_csv2_command(gvar, 1, 'UV04',
                         r'Data too long for column \'username\' at row 1', [
                             'cloudscheduler', 'user', 'add', '-un',
                             'thisisausernametoolongtoinsertint', '-upw',
                             'invalid-unit-test', '-ucn', 'invalid-unit-test'
                         ])

    execute_csv2_command(
        gvar, 1, None, 'cannot switch to invalid group "invalid-unit-test".', [
            'cloudscheduler', 'user', 'add', '-un',
            ut_id(gvar, 'cli-invalid-unit-test'), '-upw', 'invalid-unit-test',
            '-ucn', 'invalid-unit-test', '-g', 'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, 'UV02',
        'username "{}" unavailable.'.format(ut_id(gvar, 'clu1')), [
            'cloudscheduler', 'user', 'add', '-un',
            ut_id(gvar, 'clu1'), '-upw', 'invalid-unit-test', '-ucn',
            'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, 'UV02', 'username "{}" unavailable.'.format(
            ut_id(gvar, 'command line user one')), [
                'cloudscheduler', 'user', 'add', '-un',
                ut_id(gvar, 'command line user one'), '-upw',
                'invalid-unit-test', '-ucn', 'invalid-unit-test'
            ])

    execute_csv2_command(
        gvar, 1, 'UV02',
        'common name "{0}" conflicts with registered user "{0}".'.format(
            ut_id(gvar, 'clu1')), [
                'cloudscheduler', 'user', 'add', '-un',
                ut_id(gvar, 'cli-invalid-unit-test'), '-upw',
                'invalid-unit-test', '-ucn',
                ut_id(gvar, 'clu1')
            ])

    execute_csv2_command(
        gvar, 1, 'UV02',
        'common name "{}" conflicts with registered user "{}".'.format(
            ut_id(gvar, 'command line user one'), ut_id(gvar, 'clu1')), [
                'cloudscheduler', 'user', 'add', '-un',
                ut_id(gvar, 'cli-invalid-unit-test'), '-upw',
                'invalid-unit-test', '-ucn',
                ut_id(gvar, 'command line user one')
            ])

    execute_csv2_command(
        gvar, 1, 'UV03',
        'user add, "{}" failed - group "{}" was specified twice.'.format(
            ut_id(gvar, 'cli-invalid-unit-test'), ut_id(gvar, 'clg1')), [
                'cloudscheduler', 'user', 'add', '-un',
                ut_id(gvar, 'cli-invalid-unit-test'), '-upw',
                'invalid-unit-test', '-ucn', 'invalid-unit-test', '-gn',
                ut_id(gvar, 'clg1,clg1')
            ])

    execute_csv2_command(
        gvar, 0, None,
        'user "{}" successfully added.'.format(ut_id(gvar, 'clu10')), [
            'cloudscheduler', 'user', 'add', '-un',
            ut_id(gvar, 'clu10'), '-upw', user_secret, '-ucn',
            ut_id(gvar, 'command line user 10')
        ])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were unrecognized: [\'-SU\']', [
            'cloudscheduler', 'user', 'add', '-un',
            ut_id(gvar, 'clu11'), '-upw', user_secret, '-ucn',
            ut_id(gvar, 'command line user 11'), '-SU'
        ])

    execute_csv2_command(
        gvar, 1, 'UV01',
        'boolean value specified for "is_superuser" must be one of the following: true, false, yes, no, 1, or 0.',
        [
            'cloudscheduler', 'user', 'add', '-un',
            ut_id(gvar, 'clu11'), '-upw', user_secret, '-ucn',
            ut_id(gvar, 'command line user 11'), '-SU', 'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 0, None,
        'user "{}" successfully added.'.format(ut_id(gvar, 'clu11')), [
            'cloudscheduler', 'user', 'add', '-un',
            ut_id(gvar, 'clu11'), '-upw', user_secret, '-ucn',
            ut_id(gvar, 'command line user 11'), '-SU', 'true'
        ])

    execute_csv2_command(
        gvar, 0, None,
        'user "{}" successfully added.'.format(ut_id(gvar, 'clu12')), [
            'cloudscheduler', 'user', 'add', '-un',
            ut_id(gvar, 'clu12'), '-upw', user_secret, '-ucn',
            ut_id(gvar, 'command line user 12'), '-gn',
            ut_id(gvar, 'clg1')
        ])

    execute_csv2_command(
        gvar, 0, None,
        'user "{}" successfully added.'.format(ut_id(gvar, 'clu13')), [
            'cloudscheduler', 'user', 'add', '-un',
            ut_id(gvar, 'clu13'), '-upw', user_secret, '-ucn',
            ut_id(gvar, 'command line user 13'), '-gn',
            ut_id(gvar, 'clg1,clg2')
        ])

    #### DELETE ####
    execute_csv2_command(
        gvar, 1, None,
        'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'user', 'delete'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were unrecognized: [\'-xx\', \'yy\']',
        ['cloudscheduler', 'user', 'delete', '-xx', 'yy'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were invalid: group-option',
        ['cloudscheduler', 'user', 'delete', '-go', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'Error: the specified server "invalid-unit-test" does not exist in your defaults.',
        ['cloudscheduler', 'user', 'delete', '-s', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'user', 'delete', '-s', 'unit-test'])

    execute_csv2_command(gvar, 0, None,
                         'Help requested for "cloudscheduler user delete".',
                         ['cloudscheduler', 'user', 'delete', '-h'])

    execute_csv2_command(gvar, 0, None, 'General Commands Manual',
                         ['cloudscheduler', 'user', 'delete', '-H'])

    execute_csv2_command(gvar, 1, None, 'Expose API requested',
                         ['cloudscheduler', 'user', 'delete', '-xA'])

    execute_csv2_command(
        gvar, 1, None, 'cannot switch to invalid group "invalid-unit-test".',
        ['cloudscheduler', 'user', 'delete', '-g', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were unrecognized: [\'-un\']',
        ['cloudscheduler', 'user', 'delete', '-un'])

    execute_csv2_command(
        gvar, 1, None,
        r'cannot delete "invalid-unit-test", user doesn\'t exist.',
        ['cloudscheduler', 'user', 'delete', '-un', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 0, None,
        'user "{}" successfully deleted.'.format(ut_id(gvar, 'clu5')),
        ['cloudscheduler', 'user', 'delete', '-un',
         ut_id(gvar, 'clu5'), '-Y'])

    execute_csv2_command(
        gvar, 0, None,
        'user "{}" successfully deleted.'.format(ut_id(gvar, 'clu6')),
        ['cloudscheduler', 'user', 'delete', '-un',
         ut_id(gvar, 'clu6'), '-Y'])

    #### LIST ####
    execute_csv2_command(
        gvar, 1, None, 'cannot switch to invalid group "invalid-unit-test".',
        ['cloudscheduler', 'user', 'list', '-g', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were unrecognized: [\'-xx\', \'yy\']',
        ['cloudscheduler', 'user', 'list', '-xx', 'yy'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were invalid: group-option',
        ['cloudscheduler', 'user', 'list', '-go', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'Error: the specified server "invalid-unit-test" does not exist in your defaults.',
        ['cloudscheduler', 'user', 'list', '-s', 'invalid-unit-test'])

    execute_csv2_command(gvar, 0, None, None,
                         ['cloudscheduler', 'user', 'list', '-s', 'unit-test'])

    execute_csv2_command(gvar, 0, None,
                         'Help requested for "cloudscheduler user list".',
                         ['cloudscheduler', 'user', 'list', '-h'])

    execute_csv2_command(gvar, 0, None, 'General Commands Manual',
                         ['cloudscheduler', 'user', 'list', '-H'])

    execute_csv2_command(gvar, 0, None, 'Expose API requested',
                         ['cloudscheduler', 'user', 'list', '-xA'])

    execute_csv2_command(gvar, 0, None, 'Rows: 0', [
        'cloudscheduler', 'user', 'list', '-un',
        ut_id(gvar, 'cli-invalid-unit-test')
    ])

    execute_csv2_command(
        gvar, 0, None, 'Rows: 1',
        ['cloudscheduler', 'user', 'list', '-un',
         ut_id(gvar, 'clu1')])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'user', 'list', '-ok'],
                         list='Users',
                         columns=['Username'])

    execute_csv2_command(
        gvar, 0, None,
        'user list, table #1 columns: keys=username, columns=cert_cn,active_group,user_groups,available_groups,is_superuser,join_date',
        ['cloudscheduler', 'user', 'list', '-VC'])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'user', 'list', '-NV'],
                         list='Users',
                         columns=[
                             'Username', 'Common Name', 'Active Group',
                             'User Groups', 'Not In Groups', 'Super User',
                             'Joined'
                         ])

    execute_csv2_command(
        gvar,
        0,
        None,
        None, ['cloudscheduler', 'user', 'list', '-V', 'is_superuser'],
        list='Users',
        columns=['Username', 'Super User'])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'user', 'list'],
                         list='Users',
                         columns=['Username', 'Super User'])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'user', 'list', '-r'],
                         list='Users',
                         columns=['Key', 'Value'])

    execute_csv2_command(gvar,
                         0,
                         None,
                         None, ['cloudscheduler', 'user', 'list', '-V', ''],
                         list='Users',
                         columns=[
                             'Username', 'Common Name', 'Active Group',
                             'User Groups', 'Not In Groups', 'Super User',
                             'Joined'
                         ])

    #### UPDATE ####
    execute_csv2_command(
        gvar, 1, None,
        'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'user', 'update'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were unrecognized: [\'-xx\', \'yy\']',
        ['cloudscheduler', 'user', 'update', '-xx', 'yy'])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were invalid: only-keys',
        ['cloudscheduler', 'user', 'update', '-ok'])

    execute_csv2_command(
        gvar, 1, None,
        'Error: the specified server "invalid-unit-test" does not exist in your defaults.',
        ['cloudscheduler', 'user', 'update', '-s', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'user', 'update', '-s', 'unit-test'])

    execute_csv2_command(gvar, 0, None,
                         'Help requested for "cloudscheduler user update".',
                         ['cloudscheduler', 'user', 'update', '-h'])

    execute_csv2_command(gvar, 0, None, 'General Commands Manual',
                         ['cloudscheduler', 'user', 'update', '-H'])

    execute_csv2_command(gvar, 1, None, 'Expose API requested',
                         ['cloudscheduler', 'user', 'update', '-xA'])

    execute_csv2_command(
        gvar, 1, None, 'cannot switch to invalid group "invalid-unit-test".',
        ['cloudscheduler', 'user', 'update', '-g', 'invalid-unit-test'])

    execute_csv2_command(
        gvar, 1, None,
        '"cloudscheduler user update" requires at least one option to update.',
        ['cloudscheduler', 'user', 'update', '-un', 'invalid-unit-test'])

    execute_csv2_command(gvar, 1, 'UV22',
                         'the request did not match any rows.', [
                             'cloudscheduler', 'user', 'update', '-un',
                             'invalid-unit-test', '-SU', 'yes'
                         ])

    execute_csv2_command(
        gvar, 1, None,
        '"cloudscheduler user update" requires at least one option to update.',
        ['cloudscheduler', 'user', 'update', '-un',
         ut_id(gvar, 'clu7')])

    execute_csv2_command(
        gvar, 1, 'UV19',
        'value specified for a password is less than 6 characters.', [
            'cloudscheduler', 'user', 'update', '-un',
            ut_id(gvar, 'clu7'), '-upw', 'test'
        ])

    execute_csv2_command(
        gvar, 1, 'UV19',
        'value specified for a password is less then 16 characters, and does not contain a mixture of upper, lower, and numerics.',
        [
            'cloudscheduler', 'user', 'update', '-un',
            ut_id(gvar, 'clu7'), '-upw', 'invalid'
        ])

    execute_csv2_command(
        gvar, 0, None,
        'user "{}" successfully updated.'.format(ut_id(gvar, 'clu7')), [
            'cloudscheduler', 'user', 'update', '-un',
            ut_id(gvar, 'clu7'), '-ucn', ''
        ])

    execute_csv2_command(
        gvar, 1, 'UV20',
        'common name "{0}" conflicts with registered user "{0}".'.format(
            ut_id(gvar, 'clu1')), [
                'cloudscheduler', 'user', 'update', '-un',
                ut_id(gvar, 'clu7'), '-ucn',
                ut_id(gvar, 'clu1')
            ])

    execute_csv2_command(
        gvar, 1, 'UV20',
        'common name "{}" conflicts with registered user "{}".'.format(
            ut_id(gvar, 'command line user one'), ut_id(gvar, 'clu1')), [
                'cloudscheduler', 'user', 'update', '-un',
                ut_id(gvar, 'clu7'), '-ucn',
                ut_id(gvar, 'command line user one')
            ])

    execute_csv2_command(
        gvar, 0, None,
        'user "{}" successfully updated.'.format(ut_id(gvar, 'clu7')), [
            'cloudscheduler', 'user', 'update', '-un',
            ut_id(gvar, 'clu7'), '-ucn',
            ut_id(gvar, 'command line user update')
        ])

    execute_csv2_command(
        gvar, 1, None,
        'The following command line arguments were unrecognized: [\'-SU\']', [
            'cloudscheduler', 'user', 'update', '-un',
            ut_id(gvar, 'clu7'), '-SU'
        ])

    execute_csv2_command(
        gvar, 1, 'UV19',
        'boolean value specified for "is_superuser" must be one of the following: true, false, yes, no, 1, or 0.',
        [
            'cloudscheduler', 'user', 'update', '-un',
            ut_id(gvar, 'clu7'), '-SU', 'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 0, None,
        'user "{}" successfully updated.'.format(ut_id(gvar, 'clu7')), [
            'cloudscheduler', 'user', 'update', '-un',
            ut_id(gvar, 'clu7'), '-SU', 'yes'
        ])

    execute_csv2_command(
        gvar, 0, None,
        'user "{}" successfully updated.'.format(ut_id(gvar, 'clu7')), [
            'cloudscheduler', 'user', 'update', '-un',
            ut_id(gvar, 'clu7'), '-SU', 'false'
        ])

    execute_csv2_command(
        gvar, 1, 'UV19',
        r'value specified for "group_option" must be one of the following options: [\'add\', \'delete\'].',
        [
            'cloudscheduler', 'user', 'update', '-un',
            ut_id(gvar, 'clu7'), '-go', 'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, 'UV23',
        'user update must specify at least one field to update.', [
            'cloudscheduler', 'user', 'update', '-un',
            ut_id(gvar, 'clu7'), '-go', 'add'
        ])

    execute_csv2_command(
        gvar, 1, 'UV23',
        'user update must specify at least one field to update.', [
            'cloudscheduler', 'user', 'update', '-un',
            ut_id(gvar, 'clu7'), '-go', 'delete'
        ])

    # TODO: is this expected?
    execute_csv2_command(
        gvar, 0, None,
        'user "{}" successfully updated.'.format(ut_id(gvar, 'clu7')), [
            'cloudscheduler', 'user', 'update', '-un',
            ut_id(gvar, 'clu7'), '-gn', ''
        ])

    execute_csv2_command(
        gvar, 1, 'UV21', 'specified group "invalid-unit-test" does not exist.',
        [
            'cloudscheduler', 'user', 'update', '-un',
            ut_id(gvar, 'clu7'), '-gn', 'invalid-unit-test'
        ])

    execute_csv2_command(
        gvar, 1, 'UV21',
        'user update, "{}" failed - group "{}" was specified twice.'.format(
            ut_id(gvar, 'clu7'), ut_id(gvar, 'clg1')), [
                'cloudscheduler', 'user', 'update', '-un',
                ut_id(gvar, 'clu7'), '-gn',
                ut_id(gvar, 'clg1,clg1')
            ])

    execute_csv2_command(
        gvar, 0, None,
        'user "{}" successfully updated.'.format(ut_id(gvar, 'clu7')), [
            'cloudscheduler', 'user', 'update', '-un',
            ut_id(gvar, 'clu7'), '-gn',
            ut_id(gvar, 'clg1')
        ])

    execute_csv2_command(
        gvar, 0, None,
        'user "{}" successfully updated.'.format(ut_id(gvar, 'clu7')), [
            'cloudscheduler', 'user', 'update', '-un',
            ut_id(gvar, 'clu7'), '-gn',
            ut_id(gvar, 'clg1'), '-go', 'delete'
        ])

    execute_csv2_command(
        gvar, 0, None,
        'user "{}" successfully updated.'.format(ut_id(gvar, 'clu7')), [
            'cloudscheduler', 'user', 'update', '-un',
            ut_id(gvar, 'clu7'), '-gn',
            ut_id(gvar, 'clg1'), '-go', 'add'
        ])

    execute_csv2_command(
        gvar, 0, None,
        'user "{}" successfully updated.'.format(ut_id(gvar, 'clu7')), [
            'cloudscheduler', 'user', 'update', '-un',
            ut_id(gvar, 'clu7'), '-gn',
            ut_id(gvar, 'clg2'), '-go', 'add'
        ])

    execute_csv2_command(
        gvar, 0, None,
        'user "{}" successfully updated.'.format(ut_id(gvar, 'clu7')), [
            'cloudscheduler', 'user', 'update', '-un',
            ut_id(gvar, 'clu7'), '-gn',
            ut_id(gvar, 'clg1,clg2'), '-go', 'delete'
        ])

    execute_csv2_command(
        gvar, 0, None,
        'user "{}" successfully updated.'.format(ut_id(gvar, 'clu7')), [
            'cloudscheduler', 'user', 'update', '-un',
            ut_id(gvar, 'clu7'), '-gn',
            ut_id(gvar, 'clg1,clg2')
        ])

    execute_csv2_command(
        gvar, 0, None,
        'user "{}" successfully updated.'.format(ut_id(gvar, 'clu7')), [
            'cloudscheduler', 'user', 'update', '-un',
            ut_id(gvar, 'clu7'), '-gn',
            ut_id(gvar, 'clg1')
        ])

    execute_csv2_command(
        gvar, 0, None,
        'user "{}" successfully updated.'.format(ut_id(gvar, 'clu7')), [
            'cloudscheduler', 'user', 'update', '-un',
            ut_id(gvar, 'clu7'), '-gn',
            ut_id(gvar, 'clg1'), '-go', 'add'
        ])
def main(gvar, user_secret):
    if not gvar:
        gvar = {}
        if len(argv) > 1:
            initialize_csv2_request(gvar, argv[0], selections=argv[1])
        else:
            initialize_csv2_request(gvar, argv[0])

    execute_csv2_command(
        gvar, 1, None, 'No action specified for object "cloud"',
        ['cloudscheduler', 'cloud']
    )

    execute_csv2_command(
        gvar, 1, None, 'Invalid action "invalid-unit-test" for object "cloud"',
        ['cloudscheduler', 'cloud', 'invalid-unit-test']
    )

    execute_csv2_command(
        gvar, 1, None, 'Error: the specified server "invalid-unit-test" does not exist in your defaults.',
        ['cloudscheduler', 'cloud', '-s', 'invalid-unit-test']
    )

    execute_csv2_command(
        gvar, 1, None, 'No action specified for object "cloud"; use -h or -H for help.',
        ['cloudscheduler', 'cloud', '-s', 'unit-test-un']
    )

    execute_csv2_command(
        gvar, 0, None, 'Help requested for "cloudscheduler cloud".',
        ['cloudscheduler', 'cloud', '-h']
    )

    execute_csv2_command(
        gvar, 0, None, 'General Commands Manual',
        ['cloudscheduler', 'cloud', '-H']
    )

    #### ADD ####
    execute_csv2_command(
        gvar, 1, None, 'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'cloud', 'add']
    )

    execute_csv2_command(
        gvar, 1, None, 'The following command line arguments were unrecognized: [\'-xx\', \'yy\']',
        ['cloudscheduler', 'cloud', 'add', '-xx', 'yy']
    )

    execute_csv2_command(
        gvar, 1, None, 'The following command line arguments were invalid: metadata-mime-type',
        ['cloudscheduler', 'cloud', 'add', '-mmt', 'invalid-unit-test']
    )

    execute_csv2_command(
        gvar, 1, None, 'Error: the specified server "invalid-unit-test" does not exist in your defaults.',
        ['cloudscheduler', 'cloud', 'add', '-s', 'invalid-unit-test']
    )

    execute_csv2_command(
        gvar, 1, None, 'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'cloud', 'add', '-s', 'unit-test-un']
    )

    execute_csv2_command(
        gvar, 0, None, 'Help requested for "cloudscheduler cloud add".',
        ['cloudscheduler', 'cloud', 'add', '-h']
    )

    execute_csv2_command(
        gvar, 0, None, 'General Commands Manual',
        ['cloudscheduler', 'cloud', 'add', '-H']
    )

    execute_csv2_command(
        gvar, 1, None, 'Expose API requested',
        ['cloudscheduler', 'cloud', 'add', '-xA']
    )

    execute_csv2_command(
        gvar, 1, None, 'cannot switch to invalid group "invalid-unit-test".',
        ['cloudscheduler', 'cloud', 'add', '-g', 'invalid-unit-test']
    )

    execute_csv2_command(
        gvar, 1, None, 'the following mandatory parameters must be specfied on the command line',
        ['cloudscheduler', 'cloud', 'add', '-g', ut_id(gvar, 'clg1')]
    )

    execute_csv2_command(
        gvar, 1, 'CV01', r'value specified for "cloud_type" must be one of the following options: [\'amazon\', \'azure\', \'google\', \'local\', \'opennebula\', \'openstack\'].',
        ['cloudscheduler', 'cloud', 'add',
            '-cn', ut_id(gvar, 'cli-invalid-unit-test'),
            '-ca', 'invalid-unit-test',
            '-cpw', 'invalid-unit-test',
            '-cp', 'invalid-unit-test',
            '-cr', 'invalid-unit-test',
            '-ct', 'invalid-unit-test',
            '-cu', 'invalid-unit-test'
        ]
    )

    execute_csv2_command(
        gvar, 1, 'CV02', r'Data too long for column \'cloud_name\' at row 1',
        ['cloudscheduler', 'cloud', 'add',
            '-cn', 'thiscloudnameistoolongtobeinserted',
            '-ca', 'invalid-unit-test',
            '-cpw', 'invalid-unit-test',
            '-cp', 'invalid-unit-test',
            '-cr', 'invalid-unit-test',
            '-ct', 'local',
            '-cu', 'invalid-unit-test'
        ]
    )

    execute_csv2_command(
        gvar, 1, 'CV01', 'value specified for "cloud_name" must be all lower case, numeric digits, and dashes but cannot start or end with dashes.',
        ['cloudscheduler', 'cloud', 'add',
            '-cn', 'Invalid-unit-test',
            '-ca', 'invalid-unit-test',
            '-cpw', 'invalid-unit-test',
            '-cp', 'invalid-unit-test',
            '-cr', 'invalid-unit-test',
            '-ct', 'local',
            '-cu', 'invalid-unit-test'
        ]
    )

    execute_csv2_command(
        gvar, 1, 'CV01', 'value specified for "cloud_name" must be all lower case, numeric digits, and dashes but cannot start or end with dashes.',
        ['cloudscheduler', 'cloud', 'add',
            '-cn', 'invalid-unit-test-',
            '-ca', 'invalid-unit-test',
            '-cpw', 'invalid-unit-test',
            '-cp', 'invalid-unit-test',
            '-cr', 'invalid-unit-test',
            '-ct', 'local',
            '-cu', 'invalid-unit-test'
        ]
    )

    execute_csv2_command(
        gvar, 1, 'CV01', 'value specified for "cloud_name" must be all lower case, numeric digits, and dashes but cannot start or end with dashes.',
        ['cloudscheduler', 'cloud', 'add',
            '-cn', 'invalid!unit?test',
            '-ca', 'invalid-unit-test',
            '-cpw', 'invalid-unit-test',
            '-cp', 'invalid-unit-test',
            '-cr', 'invalid-unit-test',
            '-ct', 'local',
            '-cu', 'invalid-unit-test'
        ]
    )

    execute_csv2_command(
        gvar, 1, 'CV01', 'value specified for "cores_ctl" must be an integer value.',
        ['cloudscheduler', 'cloud', 'add',
            '-cn', ut_id(gvar, 'cli-invalid-unit-test'),
            '-ca', 'invalid-unit-test',
            '-cpw', 'invalid-unit-test',
            '-cp', 'invalid-unit-test',
            '-cr', 'invalid-unit-test',
            '-ct', 'local',
            '-cu', 'invalid-unit-test',
            '-vc', 'invalid-unit-test'
        ]
    )

    execute_csv2_command(
        gvar, 1, 'CV01', 'value specified for "ram_ctl" must be an integer value.',
        ['cloudscheduler', 'cloud', 'add',
            '-cn', ut_id(gvar, 'cli-invalid-unit-test'),
            '-ca', 'invalid-unit-test',
            '-cpw', 'invalid-unit-test',
            '-cp', 'invalid-unit-test',
            '-cr', 'invalid-unit-test',
            '-ct', 'local',
            '-cu', 'invalid-unit-test',
            '-vr', 'invalid-unit-test'
        ]
    )

    execute_csv2_command(
        gvar, 1, 'CV01', 'value specified for "enabled" must be one of the following: true, false, yes, no, 1, or 0.',
        ['cloudscheduler', 'cloud', 'add',
            '-cn', ut_id(gvar, 'cli-invalid-unit-test'),
            '-ca', 'invalid-unit-test',
            '-cpw', 'invalid-unit-test',
            '-cp', 'invalid-unit-test',
            '-cr', 'invalid-unit-test',
            '-ct', 'local',
            '-cu', 'invalid-unit-test',
            '-ce', 'invalid-unit-test'
        ]
    )

    execute_csv2_command(
        gvar, 1, 'CV01', 'value specified for "vm_keep_alive" must be an integer value.',
        ['cloudscheduler', 'cloud', 'add',
            '-cn', ut_id(gvar, 'cli-invalid-unit-test'),
            '-ca', 'invalid-unit-test',
            '-cpw', 'invalid-unit-test',
            '-cp', 'invalid-unit-test',
            '-cr', 'invalid-unit-test',
            '-ct', 'local',
            '-cu', 'invalid-unit-test',
            '-vka', 'invalid-unit-test'
        ]
    )

    execute_csv2_command(
        gvar, 1, 'CV01', 'value specified for "spot_price" must be an integer value.',
        ['cloudscheduler', 'cloud', 'add',
            '-cn', ut_id(gvar, 'cli-invalid-unit-test'),
            '-ca', 'invalid-unit-test',
            '-cpw', 'invalid-unit-test',
            '-cp', 'invalid-unit-test',
            '-cr', 'invalid-unit-test',
            '-ct', 'local',
            '-cu', 'invalid-unit-test',
            '-csp', 'invalid-unit-test'
        ]
    )

    execute_csv2_command(
        gvar, 1, 'CV03', 'cloud add, "{}" failed - specified metadata_name "invalid-unit-test" does not exist.'.format(ut_id(gvar, 'cli-invalid-unit-test')),
        ['cloudscheduler', 'cloud', 'add',
            '-cn', ut_id(gvar, 'cli-invalid-unit-test'),
            '-ca', 'invalid-unit-test',
            '-cpw', 'invalid-unit-test',
            '-cp', 'invalid-unit-test',
            '-cr', 'invalid-unit-test',
            '-ct', 'local',
            '-cu', 'invalid-unit-test',
            '-gme', 'invalid-unit-test'
        ]
    )

    execute_csv2_command(
        gvar, 1, 'CV03', 'cloud add, "{}" failed - specified metadata_name "invalid-unit-test" does not exist.'.format(ut_id(gvar, 'cli-invalid-unit-test')),
        ['cloudscheduler', 'cloud', 'add',
            '-cn', ut_id(gvar, 'cli-invalid-unit-test'),
            '-ca', 'invalid-unit-test',
            '-cpw', 'invalid-unit-test',
            '-cp', 'invalid-unit-test',
            '-cr', 'invalid-unit-test',
            '-ct', 'local',
            '-cu', 'invalid-unit-test',
            '-gme', '{},invalid-unit-test'.format(ut_id(gvar, 'clm2'))
        ]
    )

    execute_csv2_command(
        gvar, 0, None, 'cloud "{}::{}" successfully added.'.format(ut_id(gvar, 'clg1'), ut_id(gvar, 'clc10')),
        ['cloudscheduler', 'cloud', 'add',
            '-cn', ut_id(gvar, 'clc10'),
            '-ca', 'command-line-cloud-ten.ca',
            '-cpw', 'command-line-cloud-ten',
            '-cp', 'command-line-cloud-ten',
            '-cr', 'clc10-r',
            '-ct', 'local',
            '-cu', ut_id(gvar, 'clc10'),
            '-ce', 'yes',
            '-vi', '',
            '-vf', '',
            '-vk', '',
            '-vka', '10',
            '-vn', '',
            '-csp', '10',
            '-gme', ut_id(gvar, 'clm2')
        ]
    )

    execute_csv2_command(
        gvar, 1, 'CV02', 'Duplicate entry \\\'{}-{}\\\' for key \\\'PRIMARY\\\''.format(ut_id(gvar, 'clg1'), ut_id(gvar, 'clc10')),
        ['cloudscheduler', 'cloud', 'add',
            '-cn', ut_id(gvar, 'clc10'),
            '-ca', 'command-line-cloud-ten.ca',
            '-cpw', 'command-line-cloud-ten',
            '-cp', 'command-line-cloud-ten',
            '-cr', 'clc10-r',
            '-ct', 'local',
            '-cu', ut_id(gvar, 'clc10')
        ]
    )

    execute_csv2_command(
        gvar, 0, None, 'cloud "{}::{}" successfully added.'.format(ut_id(gvar, 'clg1'), ut_id(gvar, 'clc11')),
        ['cloudscheduler', 'cloud', 'add',
            '-cn', ut_id(gvar, 'clc11'),
            '-ca', 'command-line-cloud-11.ca',
            '-cpw', 'command-line-cloud-11',
            '-cp', 'command-line-cloud-11',
            '-cr', 'clc11-r',
            '-ct', 'local',
            '-cu', ut_id(gvar, 'clc11'),
            '-gme', ut_id(gvar, 'clm2,clm2.yaml')
        ]
    )

    execute_csv2_command(
        gvar, 0, None, 'cloud "{}::{}" successfully added.'.format(ut_id(gvar, 'clg1'), ut_id(gvar, 'clc12')),
        ['cloudscheduler', 'cloud', 'add',
            '-cn', ut_id(gvar, 'clc12'),
            '-ca', 'command-line-cloud-12.ca',
            '-cpw', 'command-line-cloud-12',
            '-cp', 'command-line-cloud-12',
            '-cr', 'clc12-r',
            '-ct', 'local',
            '-cu', ut_id(gvar, 'clc12'),
            '-s', 'unit-test',
            '-g', ut_id(gvar, 'clg1'),
        ]
    )