Exemplo n.º 1
0
def test_issues_event_bad_issue(client):
    issue = f.IssueFactory.create()
    issue.project.default_issue_status = issue.status
    issue.project.default_issue_type = issue.type
    issue.project.default_severity = issue.severity
    issue.project.default_priority = issue.priority
    issue.project.save()

    payload = {
        "actor": {
        },
        "issue": {
        },
        "repository": {
        }
    }
    mail.outbox = []

    ev_hook = event_hooks.IssuesEventHook(issue.project, payload)

    with pytest.raises(ActionSyntaxException) as excinfo:
        ev_hook.process_event()

    assert str(excinfo.value) == "Invalid issue information"

    assert Issue.objects.count() == 1
    assert len(mail.outbox) == 0
Exemplo n.º 2
0
def test_issues_event_opened_issue(client):
    issue = f.IssueFactory.create()
    issue.project.default_issue_status = issue.status
    issue.project.default_issue_type = issue.type
    issue.project.default_severity = issue.severity
    issue.project.default_priority = issue.priority
    issue.project.save()
    Membership.objects.create(user=issue.owner,
                              project=issue.project,
                              role=f.RoleFactory.create(project=issue.project),
                              is_owner=True)
    notify_policy = NotifyPolicy.objects.get(user=issue.owner,
                                             project=issue.project)
    notify_policy.notify_level = NotifyLevel.all
    notify_policy.save()

    payload = {
        "actor": {
            "user": {
                "uuid": "{ce1054cd-3f43-49dc-8aea-d3085ee7ec9b}",
                "username": "******",
                "links": {
                    "html": {
                        "href": "http://bitbucket.com/test-user"
                    }
                }
            }
        },
        "issue": {
            "id": "10",
            "title": "test-title",
            "links": {
                "html": {
                    "href": "http://bitbucket.com/site/master/issue/10"
                }
            },
            "content": {
                "raw": "test-content"
            }
        },
        "repository": {
            "links": {
                "html": {
                    "href": "http://bitbucket.com/test-user/test-project"
                }
            }
        }
    }

    mail.outbox = []

    ev_hook = event_hooks.IssuesEventHook(issue.project, payload)
    ev_hook.process_event()

    assert Issue.objects.count() == 2
    assert len(mail.outbox) == 1