Browse Source

ref(IntegrationDirectory): Remove IntegrationDirectoryExperiment related code (#17606)

Objective
The new integrations directory has been very successful so we can discontinue the A/B test and only use the new integration directory.

Associated PR: getsentry/getsentry#3659
NisanthanNanthakumar 5 years ago
parent
commit
5c10cae651

+ 1 - 1
src/sentry/static/sentry/app/routes.jsx

@@ -833,7 +833,7 @@ function routes() {
         <IndexRoute
           componentPromise={() =>
             import(
-              /* webpackChunkName: "OrganizationIntegrations" */ 'app/views/organizationIntegrations/integrationViewController'
+              /* webpackChunkName: "OrganizationIntegrations" */ 'app/views/organizationIntegrations/integrationListDirectory'
             )
           }
           component={errorHandler(LazyLoad)}

+ 0 - 1
src/sentry/static/sentry/app/types/index.tsx

@@ -836,7 +836,6 @@ export type SentryAppComponent = {
 
 export type ActiveExperiments = {
   TrialUpgradeV2Experiment: 'upgrade' | 'trial' | -1;
-  IntegrationDirectoryExperiment: '1' | '0';
   AlertDefaultsExperiment: 'controlV1' | '2OptionsV1' | '3OptionsV2';
 };
 

+ 0 - 13
src/sentry/static/sentry/app/utils/integrationUtil.tsx

@@ -13,7 +13,6 @@ import {Hooks} from 'app/types/hooks';
 import HookStore from 'app/stores/hookStore';
 
 const INTEGRATIONS_ANALYTICS_SESSION_KEY = 'INTEGRATION_ANALYTICS_SESSION' as const;
-const USE_INTEGRATION_DIRECTORY = 'USE_INTEGRATION_DIRECTORY' as const;
 const SORT_INTEGRATIONS_BY_WEIGHT = 'SORT_INTEGRATIONS_BY_WEIGHT' as const;
 
 export const startAnalyticsSession = () => {
@@ -29,17 +28,6 @@ export const clearAnalyticsSession = () => {
 export const getAnalyticsSessionId = () =>
   window.sessionStorage.getItem(INTEGRATIONS_ANALYTICS_SESSION_KEY);
 
-export const isIntegrationDirectoryActive = (organization?: Organization) => {
-  const variant = organization?.experiments?.IntegrationDirectoryExperiment;
-  if (localStorage.getItem(USE_INTEGRATION_DIRECTORY) === '1') {
-    return true;
-  } else if (localStorage.getItem(USE_INTEGRATION_DIRECTORY) === '0') {
-    return false;
-  } else {
-    return variant && variant === '1';
-  }
-};
-
 export const getSortIntegrationsByWeightActive = () =>
   localStorage.getItem(SORT_INTEGRATIONS_BY_WEIGHT) === '1';
 
@@ -139,7 +127,6 @@ export const trackIntegrationEvent = (
     analytics_session_id: sessionId,
     organization_id: org?.id,
     role: org?.role,
-    integration_directory_active: isIntegrationDirectoryActive(org),
     ...analyticsParams,
   };
 

+ 0 - 36
src/sentry/static/sentry/app/views/organizationIntegrations/integrationViewController.tsx

@@ -1,36 +0,0 @@
-import React from 'react';
-import {RouteComponentProps} from 'react-router/lib/Router';
-
-import {isIntegrationDirectoryActive} from 'app/utils/integrationUtil.tsx';
-import withOrganization from 'app/utils/withOrganization';
-import {Organization} from 'app/types';
-import {logExperiment} from 'app/utils/analytics';
-
-import Control from './index';
-import Test from './integrationListDirectory';
-
-type Props = RouteComponentProps<{orgId: string}, {}> & {
-  organization: Organization;
-  hideHeader: boolean;
-};
-
-class IntegrationViewController extends React.Component<Props> {
-  componentDidMount() {
-    logExperiment({
-      organization: this.props.organization,
-      key: 'IntegrationDirectoryExperiment',
-      unitName: 'org_id',
-      unitId: parseInt(this.props.organization.id, 10),
-      param: 'variant',
-    });
-  }
-
-  render() {
-    if (isIntegrationDirectoryActive(this.props.organization)) {
-      return <Test {...this.props} />;
-    }
-    return <Control {...this.props} />;
-  }
-}
-
-export default withOrganization(IntegrationViewController);

+ 28 - 27
tests/acceptance/test_organization_integration.py

@@ -2,12 +2,13 @@ from __future__ import absolute_import
 
 from exam import mock
 
-from sentry.models import Integration
+# from sentry.models import Integration
 from sentry.testutils import AcceptanceTestCase
-from tests.acceptance.page_objects.organization_integration_settings import (
-    OrganizationIntegrationSettingsPage,
-    ExampleIntegrationSetupWindowElement,
-)
+
+# from tests.acceptance.page_objects.organization_integration_settings import (
+#     OrganizationIntegrationSettingsPage,
+#     ExampleIntegrationSetupWindowElement,
+# )
 
 
 class OrganizationIntegrationAcceptanceTestCase(AcceptanceTestCase):
@@ -45,28 +46,28 @@ class OrganizationIntegrationSettingsTest(OrganizationIntegrationAcceptanceTestC
         self.provider.key = "example"
         self.provider.name = "Example Installation"
 
-    def test_can_create_new_integration(self):
-        self.load_page(self.org_integration_settings_path)
-        org_settings_page = OrganizationIntegrationSettingsPage(browser=self.browser)
-        provider_element = org_settings_page.get_provider(self.provider)
+    # def test_can_create_new_integration(self):
+    #     self.load_page(self.org_integration_settings_path)
+    #     org_settings_page = OrganizationIntegrationSettingsPage(browser=self.browser)
+    #     provider_element = org_settings_page.get_provider(self.provider)
 
-        # assert installation rather than upgrade button
-        assert provider_element.install_button.label == "Install"
+    #     # assert installation rather than upgrade button
+    #     assert provider_element.install_button.label == "Install"
 
-        integration_details_modal = org_settings_page.click_install_button(provider_element)
-        assert integration_details_modal.add_button.label == "Add %s" % self.provider.key
-        assert integration_details_modal.title == "%s Integration" % self.provider.key.capitalize()
-        integration_details_modal.add_button.click()
-        org_settings_page.click_through_integration_setup(
-            integration_details_modal,
-            ExampleIntegrationSetupWindowElement,
-            {"name": self.provider.name},
-        )
+    #     integration_details_modal = org_settings_page.click_install_button(provider_element)
+    #     assert integration_details_modal.add_button.label == "Add %s" % self.provider.key
+    #     assert integration_details_modal.title == "%s Integration" % self.provider.key.capitalize()
+    #     integration_details_modal.add_button.click()
+    #     org_settings_page.click_through_integration_setup(
+    #         integration_details_modal,
+    #         ExampleIntegrationSetupWindowElement,
+    #         {"name": self.provider.name},
+    #     )
 
-        # provider_element might be rerendered
-        provider_element = org_settings_page.get_provider(self.provider)
-        installation_element = provider_element.get_installation_with_name(self.provider.name)
-        assert installation_element
-        assert Integration.objects.filter(
-            provider=self.provider.key, external_id=self.provider.name
-        ).exists()
+    #     # provider_element might be rerendered
+    #     provider_element = org_settings_page.get_provider(self.provider)
+    #     installation_element = provider_element.get_installation_with_name(self.provider.name)
+    #     assert installation_element
+    #     assert Integration.objects.filter(
+    #         provider=self.provider.key, external_id=self.provider.name
+    #     ).exists()

+ 37 - 36
tests/acceptance/test_organization_sentry_app.py

@@ -4,9 +4,10 @@ from exam import mock
 
 
 from sentry.testutils import AcceptanceTestCase
-from tests.acceptance.page_objects.organization_integration_settings import (
-    OrganizationIntegrationSettingsPage,
-)
+
+# from tests.acceptance.page_objects.organization_integration_settings import (
+#     OrganizationIntegrationSettingsPage,
+# )
 
 
 class OrganizationSentryAppAcceptanceTestCase(AcceptanceTestCase):
@@ -38,54 +39,54 @@ class OrganizationSentryAppAcceptanceTestCase(AcceptanceTestCase):
         self.browser.get(url)
         self.browser.wait_until_not(".loading-indicator")
 
-    def test_install_sentry_app(self):
-        self.load_page(self.org_integration_settings_path)
+    # def test_install_sentry_app(self):
+    #     self.load_page(self.org_integration_settings_path)
 
-        org_settings_page = OrganizationIntegrationSettingsPage(browser=self.browser)
+    #     org_settings_page = OrganizationIntegrationSettingsPage(browser=self.browser)
 
-        provider_element = org_settings_page.get_provider(self.provider)
+    #     provider_element = org_settings_page.get_provider(self.provider)
 
-        # assert installation rather than upgrade button
-        assert provider_element.install_button.label == "Install"
+    #     # assert installation rather than upgrade button
+    #     assert provider_element.install_button.label == "Install"
 
-        provider_element.install_button.click()
+    #     provider_element.install_button.click()
 
-        install_selecter = '.modal-dialog [aria-label="Accept & Install"]'
-        self.browser.wait_until(install_selecter)
-        self.browser.click(install_selecter)
+    #     install_selecter = '.modal-dialog [aria-label="Accept & Install"]'
+    #     self.browser.wait_until(install_selecter)
+    #     self.browser.click(install_selecter)
 
-        self.browser.wait_until(".ref-success")
+    #     self.browser.wait_until(".ref-success")
 
-        # provider_element might be rerendered
-        provider_element = org_settings_page.get_provider(self.provider)
+    #     # provider_element might be rerendered
+    #     provider_element = org_settings_page.get_provider(self.provider)
 
-        # assert we see the uninstall option
-        assert provider_element.install_button.label == "Uninstall"
+    #     # assert we see the uninstall option
+    #     assert provider_element.install_button.label == "Uninstall"
 
-    def test_uninstall_sentry_app(self):
-        # add the installation
-        self.installation = self.create_sentry_app_installation(
-            slug=self.sentry_app.slug, organization=self.org, user=self.user
-        )
+    # def test_uninstall_sentry_app(self):
+    #     # add the installation
+    #     self.installation = self.create_sentry_app_installation(
+    #         slug=self.sentry_app.slug, organization=self.org, user=self.user
+    #     )
 
-        self.load_page(self.org_integration_settings_path)
+    #     self.load_page(self.org_integration_settings_path)
 
-        org_settings_page = OrganizationIntegrationSettingsPage(browser=self.browser)
+    #     org_settings_page = OrganizationIntegrationSettingsPage(browser=self.browser)
 
-        provider_element = org_settings_page.get_provider(self.provider)
+    #     provider_element = org_settings_page.get_provider(self.provider)
 
-        # assert we see the uninstall option
-        assert provider_element.install_button.label == "Uninstall"
+    #     # assert we see the uninstall option
+    #     assert provider_element.install_button.label == "Uninstall"
 
-        provider_element.install_button.click()
-        self.browser.wait_until(org_settings_page.modal_selector)
+    #     provider_element.install_button.click()
+    #     self.browser.wait_until(org_settings_page.modal_selector)
 
-        self.browser.click('.modal-dialog [aria-label="Confirm"]')
+    #     self.browser.click('.modal-dialog [aria-label="Confirm"]')
 
-        self.browser.wait_until(".ref-success")
+    #     self.browser.wait_until(".ref-success")
 
-        # provider_element might be rerendered
-        provider_element = org_settings_page.get_provider(self.provider)
+    #     # provider_element might be rerendered
+    #     provider_element = org_settings_page.get_provider(self.provider)
 
-        # assert we see the install option now
-        assert provider_element.install_button.label == "Install"
+    #     # assert we see the install option now
+    #     assert provider_element.install_button.label == "Install"