def test_raises_commit_cmd_none_error(self) -> None:
        invalid_commit_cmd_model = (
            subtopic_models.SubtopicPageCommitLogEntryModel(
                id='model_id123',
                created_on=self.YEAR_AGO,
                last_updated=self.NOW,
                commit_type='test-type',
                user_id='',
                subtopic_page_id='123',
                post_commit_status='private',
                commit_cmds=[{
                    'cmd':
                    base_models.VersionedModel.CMD_DELETE_COMMIT
                }]))

        output = (
            self.pipeline
            | beam.Create([invalid_commit_cmd_model])
            | beam.ParDo(
                subtopic_validation.ValidateSubtopicPageCommitLogEntryModel()))

        self.assert_pcoll_equal(output, [
            base_validation_errors.CommitCmdsNoneError(
                invalid_commit_cmd_model)
        ])
    def test_validate_subtopic_page_model(self):
        # type: () -> None
        valid_commit_cmd_model = (
            subtopic_models.SubtopicPageCommitLogEntryModel(
                id='subtopicpage_id123',
                created_on=self.YEAR_AGO,
                last_updated=self.NOW,
                commit_type='test-type',
                user_id='',
                subtopic_page_id='123',
                post_commit_status='private',
                commit_cmds=[{
                    'cmd': base_models.VersionedModel.CMD_DELETE_COMMIT}])
        )

        output = (
            self.pipeline
            | beam.Create([valid_commit_cmd_model])
            | beam.ParDo(
                subtopic_validation.ValidateSubtopicPageCommitLogEntryModel())
        )

        self.assert_pcoll_equal(output, []) # type: ignore[no-untyped-call]