Beispiel #1
0
 def test_empty_get_credentials(self):
     base_url = 'https://goji.example.com/'
     runner = CliRunner()
     with runner.isolated_filesystem():
         os.environ['HOME'] = './'
         login, password = get_credentials(base_url)
         self.assertIsNone(login)
         self.assertIsNone(password)
Beispiel #2
0
 def test_empty_get_credentials(self):
     base_url = 'https://goji.example.com/'
     runner = CliRunner()
     with runner.isolated_filesystem():
         os.environ['HOME'] = './'
         login, password = get_credentials(base_url)
         self.assertIsNone(login)
         self.assertIsNone(password)
Beispiel #3
0
    def __init__(self, base_url):
        email, password = get_credentials(base_url)

        if email is not None and password is not None:
            self.auth = (email, password)
            self.base_url = base_url
            self.rest_base_url = urljoin(self.base_url, 'rest/api/2/')
        else:
            print('== Authentication not configured. Run `goji login`')
            exit()
Beispiel #4
0
def login(base_url):
    """Authenticate with JIRA server"""
    email, password = get_credentials(base_url)
    if email is not None:
        if not click.confirm('This server is already configured. Override?'):
            return

    click.echo('Enter your JIRA credentials')

    email = click.prompt('Email', type=str)
    password = click.prompt('Password', type=str, hide_input=True)

    set_credentials(base_url, email, password)
Beispiel #5
0
 def test_preset_get_credentials(self):
     base_url = 'https://goji.example.com/'
     runner = CliRunner()
     with runner.isolated_filesystem():
         os.environ['HOME'] = './'
         with open('.netrc', 'w') as rcfile:
             rcfile.write(dedent("""\
                     machine goji.example.com
                       login delisa
                       password foober_1-"""))
         os.chmod('.netrc', S_IWUSR | S_IRUSR)
         login, password = get_credentials(base_url)
         self.assertEqual(login, 'delisa')
         self.assertEqual(password, 'foober_1-')
Beispiel #6
0
def login(base_url):
    """Authenticate with JIRA server"""
    email, password = get_credentials(base_url)
    if email is not None:
        if not click.confirm('This server is already configured. Override?'):
            return

    click.echo('Enter your JIRA credentials')

    email = click.prompt('Email', type=str)
    password = click.prompt('Password', type=str, hide_input=True)

    client = JIRAClient(base_url, auth=(email, password))
    check_login(client)
    set_credentials(base_url, email, password)
Beispiel #7
0
 def test_preset_get_credentials(self):
     base_url = 'https://goji.example.com/'
     runner = CliRunner()
     with runner.isolated_filesystem():
         os.environ['HOME'] = './'
         with open('.netrc', 'w') as rcfile:
             rcfile.write(
                 dedent("""\
                     machine goji.example.com
                       login delisa
                       password foober_1-"""))
         os.chmod('.netrc', S_IWUSR | S_IRUSR)
         login, password = get_credentials(base_url)
         self.assertEqual(login, 'delisa')
         self.assertEqual(password, 'foober_1-')
Beispiel #8
0
def cli(ctx, base_url):
    if not ctx.obj:
        if ctx.invoked_subcommand == 'login':
            ctx.obj = base_url
        else:
            email, password = get_credentials(base_url)

            if not email or not password:
                click.echo(
                    '== Authentication not configured. Run `goji login`')
                exit()

            ctx.obj = JIRAClient(base_url, auth=(email, password))

            if len(ctx.obj.session.cookies) > 0:
                check_login(ctx.obj)
Beispiel #9
0
def cli(ctx, base_url, email, password):
    if not ctx.obj:
        if ctx.invoked_subcommand == 'login':
            ctx.obj = base_url
        elif email and password:
            ctx.obj = JIRAClient(base_url, auth=(email, password))
        elif email or password:
            raise click.ClickException('Email/password must be provided together.')
        else:
            email, password = get_credentials(base_url)

            if not email or not password:
                raise click.ClickException('Authentication not configured. Run `goji login`.')

            ctx.obj = JIRAClient(base_url, auth=(email, password))

            if len(ctx.obj.session.cookies) > 0:
                check_login(ctx.obj)