コード例 #1
0
    def validate(self):
        validators.validate_string(self.pipeline_name, "pipeline_name")

        validators.validate_list(self.raw_data_sources, "raw_data_sources")
        for i, raw_data_source in enumerate(self.raw_data_sources):
            assert isinstance(raw_data_source, RawDataSource), f"raw_data_sources[{i}] is not of type of RawDataSource"
            raw_data_source.validate()

        assert isinstance(self.phone_number_uuid_table, PhoneNumberUuidTable)
        self.phone_number_uuid_table.validate()

        validators.validate_list(self.rapid_pro_key_remappings, "rapid_pro_key_remappings")
        for i, remapping in enumerate(self.rapid_pro_key_remappings):
            assert isinstance(remapping, RapidProKeyRemapping), \
                f"rapid_pro_key_mappings[{i}] is not of type RapidProKeyRemapping"
            remapping.validate()

        validators.validate_datetime(self.project_start_date, "project_start_date")
        validators.validate_datetime(self.project_end_date, "project_end_date")

        validators.validate_bool(self.filter_test_messages, "filter_test_messages")
        validators.validate_bool(self.move_ws_messages, "move_ws_messages")

        validators.validate_url(self.memory_profile_upload_bucket, "memory_profile_upload_bucket", "gs")
        validators.validate_url(self.data_archive_upload_bucket, "data_archive_upload_bucket", "gs")
        validators.validate_string(self.bucket_dir_path, "bucket_dir_path")

        if self.drive_upload is not None:
            assert isinstance(self.drive_upload, DriveUpload), "drive_upload is not of type DriveUpload"
            self.drive_upload.validate()

        if self.beneficiary_file_urls is not None:
            validators.validate_list(self.beneficiary_file_urls, "beneficiary_file_urls")
            for i, beneficiary_file_url in enumerate(self.beneficiary_file_urls):
                validators.validate_string(beneficiary_file_url, f"{beneficiary_file_url}")
コード例 #2
0
    def validate(self):
        validators.validate_list(self.activation_flow_urls, "activation_flow_urls")
        for i, activation_flow_url in enumerate(self.activation_flow_urls):
            validators.validate_url(activation_flow_url, f"activation_flow_urls[{i}]", "gs")

        validators.validate_list(self.survey_flow_urls, "survey_flow_urls")
        for i, survey_flow_url in enumerate(self.survey_flow_urls):
            validators.validate_url(survey_flow_url, f"survey_flow_urls[{i}]", "gs")
コード例 #3
0
    def validate(self):
        validators.validate_string(self.page_id, "page_id")
        validators.validate_url(self.token_file_url,
                                "token_file_url",
                                scheme="gs")

        validators.validate_list(self.datasets, "datasets")
        for i, dataset in enumerate(self.datasets):
            assert isinstance(
                dataset, FacebookDataset
            ), f"datasets[{i}] is not of type FacebookDataset"
            dataset.validate()
コード例 #4
0
    def test_validate_url(self):
        # Test valid URLs
        valid_urls = [
            "https://www.africasvoices.org",
            "http://localhost:8080/index.html", "gs://bucket/path/to/blob"
        ]

        for url in valid_urls:
            self.assertEqual(url, validators.validate_url(url))

        # Test invalid URLs
        self._expect_validation_failure(
            lambda: validators.validate_url("abc://[",
                                            variable_name="test_url"),
            "test_url not a valid URL")

        self._expect_validation_failure(
            lambda: validators.validate_url("http://bucket/blob", scheme="gs"),
            " not a URL with scheme gs")
コード例 #5
0
 def validate(self):
     validators.validate_url(self.firebase_credentials_file_url,
                             "firebase_credentials_file_url",
                             scheme="gs")
     validators.validate_string(self.table_name, "table_name")
コード例 #6
0
 def validate(self):
     validators.validate_url(self.firebase_credentials_file_url,
                             "firebase_credentials_file_url",
                             scheme="gs")