예제 #1
0
    def initialise_righteous(self):
        config = SafeConfigParser()
        config.read('righteous.config')
        if not config.has_section('auth'):
            raise Exception('Please create a righteous.config file with appropriate credentials')

        self.auth = dict((key,config.get('auth', key)) for key in config.options('auth'))
        self.server = dict((key,config.get('server-defaults', key)) for key in config.options('server-defaults'))
        righteous.init(self.auth['username'], self.auth['password'], self.auth['account_id'], **self.server)

        if not righteous.config.settings.cookies:
            righteous.login()
예제 #2
0
파일: cli.py 프로젝트: abriel/righteous
def initialise(arguments):
    verbose = arguments['--verbose']
    config_file = arguments['--config']

    if verbose:
        logging.basicConfig(level=logging.DEBUG)

    config = read_authentication(config_file or AUTH_FILE)
    if not config:
        # TODO: prompt for config and store
        pass

    username, password, account_id = tuple(config.get('auth', key)
        for key in config.options('auth'))

    server_parameters = dict(config.items('server-defaults'))
    righteous.init(username, password, account_id, **server_parameters)

    if righteous.login():
        cache_authentication(username, password, account_id,
            config_file or AUTH_FILE)
    else:
        puts_err(colored.red('Authentication failed'))
        exit(2)

    return verbose
예제 #3
0
def initialise(arguments):
    verbose = arguments['--verbose']
    config_file = arguments['--config']

    if verbose:
        logging.basicConfig(level=logging.DEBUG)

    config = read_authentication(config_file or AUTH_FILE)
    if not config:
        error('No configuration found. Either create "%s" or specify a '
              'configuration file with -c FILE' % (AUTH_FILE))

    username, password, account_id = tuple(
        config.get('auth', key) for key in config.options('auth')
    )

    server_parameters = dict(config.items('server-defaults'))
    righteous.initialise(username, password, account_id, **server_parameters)

    if righteous.login():
        cache_authentication(
            username, password, account_id, config_file or AUTH_FILE)
    else:
        error('Authentication failed')

    return verbose
예제 #4
0
파일: unit.py 프로젝트: abriel/righteous
    def test_login_with_credentials(self):
        username, password, account_id = 'foo', 'bar', '123'
        auth = base64.encodestring('%s:%s' % (username, password))[:-1]

        self.response.status_code = 204
        self.response.headers['set-cookie'] = 'cookie_value' 
        login_result = righteous.login(username, password, account_id)
        assert login_result
        self.request.assert_called_once_with('/login', headers={'Authorization': 'Basic %s' % auth})
예제 #5
0
    def test_login_with_init_credentials(self):
        username, password, account_id = 'user', 'pass', 'account_id'

        auth = base64.b64encode(six.b('%s:%s' % (username, password)))[:-1]

        righteous.init(username, password, account_id)

        self.response.status_code = 204
        self.response.headers['set-cookie'] = 'cookie_value'
        login_result = righteous.login()
        assert login_result
        self.request.assert_called_once_with(
            '/login', headers={'Authorization': 'Basic %s' % auth})
예제 #6
0
파일: unit.py 프로젝트: abriel/righteous
 def test_login_failure(self):
     assert not righteous.login('foo', 'bar', 'buzz')
예제 #7
0
 def test_login(self):
     self.assertTrue(righteous.login())