コード例 #1
0
    def test_should_update_value_of_feature_state(self):
        # Given
        client = self.set_up()
        feature = Feature(name="feature", project=self.project)
        feature.save()
        environment = Environment.objects.create(name="test env",
                                                 project=self.project)
        feature_state = FeatureState.objects.get(feature=feature,
                                                 environment=environment)

        # When
        response = client.put(
            "/api/v1/environments/%s/featurestates/%d/" %
            (environment.api_key, feature_state.id),
            data=self.fs_put_template %
            (feature_state.id, True, "This is a value"),
            content_type='application/json')  # should change enabled to True

        # Then
        self.assertEquals(response.status_code, status.HTTP_200_OK)
        feature_state.refresh_from_db()
        self.assertEquals(feature_state.get_feature_state_value(),
                          "This is a value")
        self.assertEquals(feature_state.enabled, True)

        Helper.clean_up()
コード例 #2
0
ファイル: test_views.py プロジェクト: weyert/bullet-train-api
    def setUp(self):
        self.client = APIClient()
        user = Helper.create_ffadminuser()
        self.client.force_authenticate(user=user)

        self.organisation = Organisation.objects.create(name="Test org")
        user.organisations.add(self.organisation)
コード例 #3
0
    def setUp(self):
        self.client = APIClient()
        user = Helper.create_ffadminuser()
        self.client.force_authenticate(user=user)

        self.organisation = Organisation.objects.create(name='Test Org')

        user.add_organisation(self.organisation, OrganisationRole.ADMIN)

        self.project = Project.objects.create(name='Test project',
                                              organisation=self.organisation)
        self.project2 = Project.objects.create(name='Test project2',
                                               organisation=self.organisation)
        self.environment_1 = Environment.objects.create(
            name='Test environment 1', project=self.project)
        self.environment_2 = Environment.objects.create(
            name='Test environment 2', project=self.project)

        self.tag_one = Tag.objects.create(label='Test Tag',
                                          color='#fffff',
                                          description='Test Tag description',
                                          project=self.project)
        self.tag_two = Tag.objects.create(label='Test Tag2',
                                          color='#fffff',
                                          description='Test Tag2 description',
                                          project=self.project)
        self.tag_other_project = Tag.objects.create(
            label='Wrong Tag',
            color='#fffff',
            description='Test Tag description',
            project=self.project2)
コード例 #4
0
    def setUp(self):
        self.client = APIClient()
        user = Helper.create_ffadminuser()
        self.client.force_authenticate(user=user)

        self.organisation = Organisation.objects.create(name='ssg')
        user.organisations.add(self.organisation)

        self.project = Project.objects.create(name='Test project', organisation=self.organisation)
コード例 #5
0
    def setUp(self) -> None:
        self.client = APIClient()
        user = Helper.create_ffadminuser()
        self.client.force_authenticate(user=user)

        organisation = Organisation.objects.create(name='Test org')
        user.add_organisation(organisation, OrganisationRole.ADMIN)

        self.project = Project.objects.create(name='Test project', organisation=organisation)
        self.environment = Environment.objects.create(name='Test environment', project=self.project)
        self.identity = Identity.objects.create(identifier='test-user', environment=self.environment)
コード例 #6
0
    def setUp(self):
        self.client = APIClient()
        user = Helper.create_ffadminuser()
        self.client.force_authenticate(user=user)

        self.organisation = Organisation.objects.create(name='Test Org')
        user.add_organisation(self.organisation, OrganisationRole.ADMIN)  # admin to bypass perms

        self.project = Project.objects.create(name='Test project', organisation=self.organisation)
        self.environment = Environment.objects.create(name='Test Environment', project=self.project)
        self.identity = Identity.objects.create(identifier=self.identifier, environment=self.environment)
コード例 #7
0
    def setUp(self) -> None:
        self.client = APIClient()
        user = Helper.create_ffadminuser()
        self.client.force_authenticate(user=user)

        organisation = Organisation.objects.create(name='Test organisation')
        user.add_organisation(organisation, OrganisationRole.ADMIN)

        project = Project.objects.create(name='Test project', organisation=organisation)
        self.environment = Environment.objects.create(name='Test environment', project=project)

        self.valid_webhook_url = 'http://my.webhook.com/webhooks'
コード例 #8
0
    def setUp(self):
        user = Helper.create_ffadminuser()

        self.organisation = Organisation.objects.create(name="Test Org")
        user.add_organisation(self.organisation,
                              OrganisationRole.ADMIN)  # admin to bypass perms

        self.project = Project.objects.create(name="Test project",
                                              organisation=self.organisation)
        self.environment = Environment.objects.create(name="Test Environment",
                                                      project=self.project)
        self.identity = Identity.objects.create(identifier=self.identifier,
                                                environment=self.environment)
コード例 #9
0
    def setUp(self):
        self.client = APIClient()
        user = Helper.create_ffadminuser()
        self.client.force_authenticate(user=user)

        self.organisation = Organisation.objects.create(name='Test Org')

        user.add_organisation(self.organisation, OrganisationRole.ADMIN)

        self.project = Project.objects.create(name='Test project',
                                              organisation=self.organisation)
        self.environment_1 = Environment.objects.create(
            name='Test environment 1', project=self.project)
        self.environment_2 = Environment.objects.create(
            name='Test environment 2', project=self.project)
コード例 #10
0
    def setUp(self):
        self.client = APIClient()
        self.user = Helper.create_ffadminuser()
        self.client.force_authenticate(user=self.user)

        create_environment_permission = ProjectPermissionModel.objects.get(key="CREATE_ENVIRONMENT")
        read_project_permission = ProjectPermissionModel.objects.get(key="VIEW_PROJECT")

        self.organisation = Organisation.objects.create(name='ssg')
        self.user.add_organisation(self.organisation, OrganisationRole.ADMIN)  # admin to bypass perms

        self.project = Project.objects.create(name='Test project', organisation=self.organisation)

        user_project_permission = UserProjectPermission.objects.create(user=self.user, project=self.project)
        user_project_permission.permissions.add(create_environment_permission, read_project_permission)
コード例 #11
0
    def test_registration_and_login(self):
        Helper.generate_database_models()
        # When
        register_response = self.client.post(
            self.auth_base_url + "register/",
            data=self.register_template %
            ("*****@*****.**", "john", "doe", "johndoe123", "johndoe123"),
            content_type='application/json')

        # Then
        self.assertEquals(register_response.status_code,
                          status.HTTP_201_CREATED)
        self.assertIn("key", register_response.data)
        # Check user was created
        self.assertEquals(
            FFAdminUser.objects.filter(email="*****@*****.**").count(), 1)
        user = FFAdminUser.objects.get(email="*****@*****.**")
        organisation = Organisation(name="test org")
        organisation.save()
        user.organisation = organisation
        user.save()
        # Check user can login
        login_response = self.client.post(
            self.auth_base_url + "login/",
            data=self.login_template % ("*****@*****.**", "johndoe123"),
            content_type='application/json')
        self.assertEquals(login_response.status_code, status.HTTP_200_OK)
        self.assertIn("key", login_response.data)

        # verify key works on authenticated endpoint
        content = login_response.data
        organisations_response = self.client.get("/api/v1/organisations/",
                                                 HTTP_AUTHORIZATION="Token " +
                                                 content['key'])
        self.assertEquals(organisations_response.status_code,
                          status.HTTP_200_OK)
コード例 #12
0
    def setUp(self):
        self.client = APIClient()
        user = Helper.create_ffadminuser()
        self.client.force_authenticate(user=user)

        self.organisation = Organisation.objects.create(name="Test Org")
        user.add_organisation(self.organisation,
                              OrganisationRole.ADMIN)  # admin to bypass perms

        self.project = Project.objects.create(name="Test project",
                                              organisation=self.organisation)
        self.environment = Environment.objects.create(name="Test Environment",
                                                      project=self.project)
        self.list_url = reverse("api-v1:projects:integrations-datadog-list",
                                args=[self.project.id])
コード例 #13
0
    def setUp(self) -> None:
        self.client = APIClient()
        user = Helper.create_ffadminuser()
        self.client.force_authenticate(user=user)

        organisation = Organisation.objects.create(name='Test Org')

        user.add_organisation(organisation, OrganisationRole.ADMIN)

        self.project = Project.objects.create(organisation=organisation,
                                              name='Test project')
        self.environment_1 = Environment.objects.create(
            project=self.project, name='Test environment 1')
        self.environment_2 = Environment.objects.create(
            project=self.project, name='Test environment 2')
        self.feature = Feature.objects.create(project=self.project,
                                              name='Test feature')
        self.segment = Segment.objects.create(project=self.project,
                                              name='Test segment')
コード例 #14
0
ファイル: test_views.py プロジェクト: mgara/flagsmith-api
    def setUp(self):
        self.client = APIClient()
        user = Helper.create_ffadminuser()
        self.client.force_authenticate(user=user)

        self.organisation = Organisation.objects.create(name="Test Org")

        user.add_organisation(self.organisation, OrganisationRole.ADMIN)

        self.project = Project.objects.create(
            name="Test project", organisation=self.organisation
        )
        self.project2 = Project.objects.create(
            name="Test project2", organisation=self.organisation
        )
        self.environment_1 = Environment.objects.create(
            name="Test environment 1", project=self.project
        )
        self.environment_2 = Environment.objects.create(
            name="Test environment 2", project=self.project
        )

        self.tag_one = Tag.objects.create(
            label="Test Tag",
            color="#fffff",
            description="Test Tag description",
            project=self.project,
        )
        self.tag_two = Tag.objects.create(
            label="Test Tag2",
            color="#fffff",
            description="Test Tag2 description",
            project=self.project,
        )
        self.tag_other_project = Tag.objects.create(
            label="Wrong Tag",
            color="#fffff",
            description="Test Tag description",
            project=self.project2,
        )
コード例 #15
0
 def tearDown(self) -> None:
     Helper.clean_up()
コード例 #16
0
 def setUp(self):
     self.client = APIClient()
     self.user = Helper.create_ffadminuser()
     self.client.force_authenticate(user=self.user)