Example #1
0
    def test_execute_invalid_duration(self):
        from augias.views import execute
        task = self._get_task()
        user = User(email='*****@*****.**')
        DBSession.add(user)
        request = DummyRequest({'length': 'this is no integer', 'executor': user.email})

        result = execute(task, request)

        self.assertEqual(result.code, 302)
        request.flash_error.assert_called_once_with('Invalid length "this is no integer"')
Example #2
0
def step(context, name):
    email, assertion = get_email_and_assertion('http://example.com')
    with transaction.manager:
        user = User(email=email, name=name)
        DBSession.add(user)

    result = context.app.get('/')
    token = re.findall(r"csrf_token: '([0-9a-f]*)'", result.unicode_body)[0]
    context.app.post('/login', {'assertion': assertion,
                                'csrf_token': token,
                                'came_from': '/'})
    context.last['user'] = user
Example #3
0
    def test_execute_with_colon_duration(self):
        from augias.views import execute
        task = self._get_task()
        user = User(email='*****@*****.**')
        DBSession.add(user)
        request = DummyRequest({'length': '1:30:41', 'executor': user.email})
        request.flash_success = create_autospec(lambda x: None)

        result = execute(task, request)

        self.assertEqual(result.code, 302)
        execution = DBSession.query(Execution).one()
        self.assertEqual(execution.length, 91)
Example #4
0
def main(argv=sys.argv):
    config_uri = argv[1]
    options = [arg for arg in argv[2:] if '=' in arg]
    options = parse_vars(options)
    env = bootstrap(config_uri, options=options)
    setup_logging(config_uri)
    emails = [arg for arg in argv[2:] if '=' not in arg]
    with transaction.manager:
        for email in emails:
            print('Adding user {}'.format(email))
            user = User(email=email)
            DBSession.add(user)

    env['closer']()
Example #5
0
    def test_execute_without_duration(self):
        from augias.views import execute
        task = self._get_task()
        user = User(email='*****@*****.**')
        DBSession.add(user)
        request = DummyRequest({'length': '', 'executor': user.email})

        result = execute(task, request)

        self.assertEqual(result.code, 302)
        execution = DBSession.query(Execution).one()
        self.assertEqual(execution.executor, user)
        self.assertEqual(execution.length, None)
        request.flash_success.assert_called_once_with('Task executed')
Example #6
0
def step(context, name):
    with transaction.manager:
        notebook = Notebook(name=name)
        DBSession.add(notebook)
    context.last['notebook'] = notebook
Example #7
0
def step(context, name):
    notebook = DBSession.query(Notebook).one()
    with transaction.manager:
        task = Task(name=name, periodicity=42, notebook=notebook)
        DBSession.add(task)
    context.last['task'] = task