Example #1
0
    def handle(self, request, organization, provider_id):
        if not self.has_feature(request, organization):
            return self.redirect('/')

        if request.GET.get('init') != '1':
            helper = PipelineHelper.get_for_request(
                request=request,
                organization=organization,
                provider_id=provider_id,
            )
        else:
            helper = None

        if helper:
            try:
                return helper.current_step()
            except Exception:
                logging.exception('integration.setup-error')
                return helper.error('an internal error occurred')

        helper = PipelineHelper.initialize(
            request=request,
            organization=organization,
            provider_id=provider_id,
            dialog=True,
        )
        # we redirect the user to scrub parameters from the URL to avoid passing
        # them into third parties
        return self.redirect(request.path)
Example #2
0
 def handle(self, request, organization, provider_id):
     if not self.has_feature(request, organization):
         return self.redirect('/')
     helper = PipelineHelper.initialize(
         request=request,
         organization=organization,
         provider_id=provider_id,
         dialog=True,
     )
     return self.redirect(helper.get_redirect_url())
Example #3
0
    def handle(self, request, provider_id):
        helper = PipelineHelper.get_for_request(
            request=request,
            provider_id=provider_id,
        )
        if not helper:
            logging.error('integration.setup-error')
            return self.redirect('/')

        try:
            return helper.current_step()
        except Exception:
            logging.exception('integration.setup-error')
            return helper.error('an internal error occurred')
Example #4
0
    def setUp(self):
        from sentry.integrations.helper import PipelineHelper

        super(IntegrationTestCase, self).setUp()

        self.organization = self.create_organization(name='foo', owner=self.user)
        self.login_as(self.user)
        self.path = '/extensions/{}/setup/'.format(self.provider.id)
        self.request = self.make_request(self.user)
        # XXX(dcramer): this is a bit of a hack, but it helps contain this test
        self.helper = PipelineHelper.initialize(
            request=self.request,
            organization=self.organization,
            provider_id=self.provider.id,
            dialog=True,
        )
        self.save_session()

        feature = Feature('organizations:integrations-v3')
        feature.__enter__()
        self.addCleanup(feature.__exit__, None, None, None)
Example #5
0
    def setUp(self):
        from sentry.integrations.helper import PipelineHelper

        super(IntegrationTestCase, self).setUp()

        self.organization = self.create_organization(name='foo', owner=self.user)
        self.login_as(self.user)
        self.path = '/extensions/{}/setup/'.format(self.provider.id)
        self.request = self.make_request(self.user)
        # XXX(dcramer): this is a bit of a hack, but it helps contain this test
        self.helper = PipelineHelper.initialize(
            request=self.request,
            organization=self.organization,
            provider_id=self.provider.id,
            dialog=True,
        )
        self.save_session()

        feature = Feature('organizations:integrations-v3')
        feature.__enter__()
        self.addCleanup(feature.__exit__, None, None, None)