Exemplo n.º 1
0
    def test_bypass_url(self, mock_argv, mock_httpcmd):
        """Filling bypass-url should set other params as defaults."""
        args = [
            '--os-username', 'username', '--os-password', 'password',
            '--os-user-domain-id', 'user_domain_id', '--os-user-domain-name',
            'user_domain_name', '--os-project-name', 'project_name',
            '--os-project-domain-id', 'project_domain_id',
            '--os-project-domain-name', 'project_domain_name', '--os-cacert',
            'cacert', '--os-auth-url', 'auth_url', '--bypass-url',
            'bypass_url', 'manager', 'list'
        ]
        mock_argv.__getitem__.return_value = args

        with mock.patch.object(keystone_v3, 'KeystoneClient'):
            main()

        ns = Namespace(bypass_url='bypass_url',
                       command='list',
                       command_name='manager',
                       debug=False,
                       os_auth_url='auth_url',
                       os_cacert='cacert',
                       os_password='******',
                       os_project_domain_id='project_domain_id',
                       os_project_domain_name='project_domain_name',
                       os_project_id=None,
                       os_project_name='project_name',
                       os_user_domain_id='user_domain_id',
                       os_user_domain_name='user_domain_name',
                       os_username='******')
        mock_httpcmd.assert_called_once_with("bypass_url", ns)
Exemplo n.º 2
0
    def test_no_project_name(self, mock_argv, _mock_httpcmd):
        """CLI should exit if no project name is specified."""
        args = [
            '--os-username', 'username', '--os-password', 'password',
            '--os-user-domain-id', 'user_domain_id', '--os-user-domain-name',
            'user_domain_name', '--os-project-domain-id', 'project_domain_id',
            '--os-project-domain-name', 'project_domain_name', '--os-auth-url',
            'auth_url', '--os-cacert', 'cacert', 'manager', 'list'
        ]
        mock_argv.__getitem__.return_value = args

        with mock.patch('sys.exit') as m:
            main()
        m.assert_called_once_with(1)
Exemplo n.º 3
0
    def test_minimum_parameters(self, mock_argv, _mock_httpcmd):
        """CLI should not exit when the required parameters are filled."""
        args = [
            '--os-username', 'username', '--os-password', 'password',
            '--os-project-name', 'project_name', '--os-auth-url', 'auth_url',
            'manager', 'list'
        ]
        mock_argv.__getitem__.return_value = args

        # Bypass HTTP call
        with mock.patch.object(keystone_v3, 'KeystoneClient'):
            with mock.patch('sys.exit') as sys_exit:
                main()
        sys_exit.assert_not_called()
Exemplo n.º 4
0
    def test_create_keystone_client(self, mock_argv, _mock_httpcmd):
        """Check success when all parameters are filled."""
        args = [
            '--os-username', 'username', '--os-password', 'password',
            '--os-user-domain-id', 'user_domain_id', '--os-user-domain-name',
            'user_domain_name', '--os-project-name', 'project_name',
            '--os-project-domain-id', 'project_domain_id',
            '--os-project-domain-name', 'project_domain_name', '--os-auth-url',
            'auth_url', '--os-cacert', 'cacert', 'manager', 'list'
        ]
        mock_argv.__getitem__.return_value = args

        with mock.patch.object(keystone_v3, 'KeystoneClient') as m:
            main()
        m.assert_called_once_with(auth_url='auth_url',
                                  username='******',
                                  password='******',
                                  ca_cert='cacert',
                                  user_domain_id='user_domain_id',
                                  user_domain_name='user_domain_name',
                                  project_name='project_name',
                                  project_domain_id='project_domain_id',
                                  project_domain_name='project_domain_name')