Esempio n. 1
0
class TestCreator(TestCase):
    def setUp(self):
        self.user = self.create_user()
        self.org = self.create_organization(owner=self.user)
        self.project = self.create_project(name='foo', organization=self.org)
        self.sentry_app = self.create_sentry_app(owner=self.org)
        self.creator = Creator(application=self.sentry_app.application,
                               actor=self.sentry_app.proxy_user,
                               project=self.project,
                               events=('event.created',),
                               url=self.sentry_app.webhook_url)

    def test_creates_service_hook(self):
        self.creator.call()

        service_hook = ServiceHook.objects.get(
            application=self.sentry_app.application,
            actor_id=self.sentry_app.proxy_user.id,
            project_id=self.project.id,
            url=self.sentry_app.webhook_url,
        )

        assert service_hook
        assert service_hook.events == ['event.created']

    def test_expands_resource_events_to_specific_events(self):
        self.creator.events = ['issue']
        service_hook = self.creator.call()
        assert service_hook.events == ['issue.created']

    def test_expand_events(self):
        assert expand_events(['issue']) == set(['issue.created'])

    def test_consolidate_events(self):
        assert consolidate_events(['issue.created']) == set(['issue'])
Esempio n. 2
0
class TestCreator(TestCase):
    def setUp(self):
        self.user = self.create_user()
        self.org = self.create_organization(owner=self.user)
        self.project = self.create_project(name='foo', organization=self.org)
        self.sentry_app = self.create_sentry_app(owner=self.org)
        self.creator = Creator(application=self.sentry_app.application,
                               actor=self.sentry_app.proxy_user,
                               project=self.project,
                               events=('event.created',),
                               url=self.sentry_app.webhook_url)

    def test_creates_service_hook(self):
        self.creator.call()

        service_hook = ServiceHook.objects.get(
            application=self.sentry_app.application,
            actor_id=self.sentry_app.proxy_user.id,
            project_id=self.project.id,
            url=self.sentry_app.webhook_url,
        )

        assert service_hook
        assert service_hook.events == ['event.created']

    def test_expands_resource_events_to_specific_events(self):
        self.creator.events = ['issue']
        service_hook = self.creator.call()
        assert set(service_hook.events) == set(['issue.created', 'issue.resolved'])

    def test_expand_events(self):
        assert expand_events(['issue']) == set(['issue.created', 'issue.resolved'])

    def test_consolidate_events(self):
        assert consolidate_events(['issue.created']) == set(['issue'])
Esempio n. 3
0
 def setUp(self):
     self.user = self.create_user()
     self.org = self.create_organization(owner=self.user)
     self.project = self.create_project(name='foo', organization=self.org)
     self.sentry_app = self.create_sentry_app(owner=self.org)
     self.creator = Creator(application=self.sentry_app.application,
                            actor=self.sentry_app.proxy_user,
                            project=self.project,
                            events=('event.created',),
                            url=self.sentry_app.webhook_url)
Esempio n. 4
0
 def setUp(self):
     self.user = self.create_user()
     self.org = self.create_organization(owner=self.user)
     self.project = self.create_project(name="foo", organization=self.org)
     self.sentry_app = self.create_sentry_app(owner=self.org)
     self.creator = Creator(
         application=self.sentry_app.application,
         actor=self.sentry_app.proxy_user,
         organization=self.org,
         projects=[self.project],
         events=("event.created", ),
         url=self.sentry_app.webhook_url,
     )
Esempio n. 5
0
class TestCreator(TestCase):
    def setUp(self):
        self.user = self.create_user()
        self.org = self.create_organization(owner=self.user)
        self.project = self.create_project(name="foo", organization=self.org)
        self.sentry_app = self.create_sentry_app(owner=self.org)
        self.creator = Creator(
            application=self.sentry_app.application,
            actor=self.sentry_app.proxy_user,
            organization=self.org,
            projects=[],
            events=("event.created", ),
            url=self.sentry_app.webhook_url,
        )

    def test_creates_service_hook(self):
        self.creator.call()

        service_hook = ServiceHook.objects.get(
            application=self.sentry_app.application,
            actor_id=self.sentry_app.proxy_user.id,
            url=self.sentry_app.webhook_url,
        )

        assert service_hook
        assert service_hook.events == ["event.created"]

    def test_expands_resource_events_to_specific_events(self):
        self.creator.events = ["issue"]
        service_hook = self.creator.call()

        assert set(service_hook.events) == {
            "issue.created",
            "issue.resolved",
            "issue.ignored",
            "issue.assigned",
        }

    def test_expand_events(self):
        assert expand_events(["issue"]) == {
            "issue.created",
            "issue.resolved",
            "issue.ignored",
            "issue.assigned",
        }

    def test_consolidate_events(self):
        assert consolidate_events(["issue.created"]) == {"issue"}
Esempio n. 6
0
 def setUp(self):
     self.user = self.create_user()
     self.org = self.create_organization(owner=self.user)
     self.project = self.create_project(name='foo', organization=self.org)
     self.sentry_app = self.create_sentry_app(owner=self.org)
     self.creator = Creator(application=self.sentry_app.application,
                            actor=self.sentry_app.proxy_user,
                            project=self.project,
                            events=('event.created',),
                            url=self.sentry_app.webhook_url)
Esempio n. 7
0
class TestCreator(TestCase):
    def setUp(self):
        self.user = self.create_user()
        self.org = self.create_organization(owner=self.user)
        self.project = self.create_project(name='foo', organization=self.org)
        self.sentry_app = self.create_sentry_app(owner=self.org)
        self.creator = Creator(application=self.sentry_app.application,
                               actor=self.sentry_app.proxy_user,
                               project=self.project,
                               events=('event.created',),
                               url=self.sentry_app.webhook_url)

    def test_creates_service_hook(self):
        self.creator.call()

        service_hook = ServiceHook.objects.get(
            application=self.sentry_app.application,
            actor_id=self.sentry_app.proxy_user.id,
            project_id=self.project.id,
            url=self.sentry_app.webhook_url,
        )

        assert service_hook
        assert service_hook.events == ['event.created']
Esempio n. 8
0
    def create_service_hook(self, actor=None, project=None, events=None, url=None, **kwargs):
        if not actor:
            actor = self.create_user()
        if not project:
            org = self.create_organization(owner=actor)
            project = self.create_project(organization=org)
        if not events:
            events = ('event.created',)
        if not url:
            url = 'https://example/sentry/webhook'

        return ServiceHookCreator.run(
            actor=actor,
            project=project,
            events=events,
            url=url,
            **kwargs
        )