Example #1
0
 def test_message_for_invalid_post_commit_status(self):
     model = base_models.BaseCommitLogEntryModel(
         id='123',
         created_on=self.YEAR_AGO,
         last_updated=self.NOW,
         commit_type='invalid-type',
         user_id='',
         post_commit_status='invalid',
         post_commit_is_private=False,
         commit_cmds=[])
     error = base_validation_errors.InvalidCommitStatusError(model)
     self.assertEqual(
         error.stderr,
         'InvalidCommitStatusError in BaseCommitLogEntryModel(id="123"): '
         'post_commit_status is invalid')
Example #2
0
    def process(self, input_model):
        """Function validates that post_commit_status is either public or
        private

        Args:
            input_model: base_models.BaseCommitLogEntryModel.
                Entity to validate.

        Yields:
            InvalidCommitStatusError. Error for commit_type validation.
        """
        model = job_utils.clone_model(input_model)
        if model.post_commit_status not in [
                feconf.POST_COMMIT_STATUS_PUBLIC,
                feconf.POST_COMMIT_STATUS_PRIVATE
        ]:
            yield base_validation_errors.InvalidCommitStatusError(model)
    def test_validate_post_commit_is_invalid(self):
        invalid_commit_status = base_models.BaseCommitLogEntryModel(
            id='123',
            created_on=self.YEAR_AGO,
            last_updated=self.NOW,
            commit_type='invalid-type',
            user_id='',
            post_commit_status='invalid',
            post_commit_is_private=False,
            commit_cmds=[])

        output = (self.pipeline
                  | beam.Create([invalid_commit_status])
                  | beam.ParDo(base_validation.ValidatePostCommitStatus()))

        self.assert_pcoll_equal(output, [
            base_validation_errors.InvalidCommitStatusError(
                invalid_commit_status),
        ])