예제 #1
0
    def test_update_others_persistent_query_example_as_anonymous_raises_error(
        self, ):
        # Arrange
        persistent_query_example = self.fixture.persistent_query_example_1

        # Act # Assert
        with self.assertRaises(AccessControlError):
            persistent_query_example_api.upsert(persistent_query_example,
                                                AnonymousUser())
예제 #2
0
    def test_update_others_persistent_query_example_raises_error(self):
        # Arrange
        persistent_query_example = self.fixture.persistent_query_example_1
        persistent_query_example.name = "new_name_persistent_query_example_1"
        mock_user = create_mock_user("0")

        # Act # Assert
        with self.assertRaises(AccessControlError):
            persistent_query_example_api.upsert(persistent_query_example,
                                                mock_user)
예제 #3
0
    def test_create_persistent_query_example_as_anonymous_user(self):
        # Arrange
        persistent_query_example = PersistentQueryExample(
            name="new_persistent_query_example", user_id="None")

        # Act
        if CAN_ANONYMOUS_ACCESS_PUBLIC_DOCUMENT:
            result = persistent_query_example_api.upsert(
                persistent_query_example, AnonymousUser())
            # Assert
            self.assertTrue(isinstance(result, PersistentQueryExample))
            self.assertTrue(result.name, "new_persistent_query_example")

        else:
            with self.assertRaises(AccessControlError):
                persistent_query_example_api.upsert(persistent_query_example,
                                                    AnonymousUser())
예제 #4
0
 def test_create_others_persistent_query_example_as_superuser_creates_persistent_query_example(
     self, ):
     # Arrange
     persistent_query_example = PersistentQueryExample(
         name="new_persistent_query_example", user_id="0")
     mock_user = create_mock_user("0", is_staff=True, is_superuser=True)
     # Act
     result = persistent_query_example_api.upsert(persistent_query_example,
                                                  mock_user)
     # Assert
     self.assertTrue(isinstance(result, PersistentQueryExample))
     self.assertTrue(result.name, "new_persistent_query_example")
예제 #5
0
 def test_update_own_persistent_query_example_updates_persistent_query_example(
         self):
     # Arrange
     persistent_query_example = self.fixture.persistent_query_example_1
     mock_user = create_mock_user("1")
     persistent_query_example.name = "new_name_persistent_query_example_1"
     # Act
     result = persistent_query_example_api.upsert(persistent_query_example,
                                                  mock_user)
     # Assert
     self.assertTrue(isinstance(result, PersistentQueryExample))
     self.assertTrue(result.name, "new_name_persistent_query_example_1")
예제 #6
0
 def test_update_others_persistent_query_example_as_superuser_updates_data_structure(
     self, ):
     # Arrange
     persistent_query_example = self.fixture.persistent_query_example_1
     persistent_query_example.name = "new_name_persistent_query_example_1"
     mock_user = create_mock_user("0", is_staff=True, is_superuser=True)
     # Act
     result = persistent_query_example_api.upsert(persistent_query_example,
                                                  mock_user)
     # Assert
     self.assertTrue(isinstance(result, PersistentQueryExample))
     self.assertTrue(result.name, "new_name_persistent_query_example_1")
    def test_persistent_query_example_upsert_return_data(self, mock_save):

        # Arrange
        mock_save.return_value = self.mock_persistent_query_example
        mock_user = create_mock_user("1")

        # Act
        result = persistent_query_example_api.upsert(
            self.mock_persistent_query_example, mock_user
        )

        # Assert
        self.assertIsInstance(result, PersistentQueryExample)
예제 #8
0
    def create(self, validated_data):
        """Create and return a new `PersistentQueryExample` instance, given the validated data."""

        # Create instance from the validated data and insert it in DB
        persistent_query_example = PersistentQueryExample(
            user_id=str(self.context["request"].user.id),
            content=validated_data["content"] if "content" in validated_data else None,
            templates=validated_data["templates"]
            if "templates" in validated_data
            else None,
            name=validated_data["name"] if "name" in validated_data else None,
        )
        return persistent_query_example_api.upsert(
            persistent_query_example, self.context["request"].user
        )
예제 #9
0
 def update(self, persistent_query_example, validated_data):
     """Update and return an existing `PersistentQueryExample` instance, given the validated
     data.
     """
     persistent_query_example.content = validated_data.get(
         "content", persistent_query_example.content
     )
     persistent_query_example.templates = validated_data.get(
         "templates", persistent_query_example.templates
     )
     persistent_query_example.name = validated_data.get(
         "name", persistent_query_example.name
     )
     return persistent_query_example_api.upsert(
         persistent_query_example, self.context["request"].user
     )