def __init__(self,
                 id,
                 schedule,
                 script,
                 database,
                 resource=None,
                 worker_group=None,
                 script_arguments=None,
                 queue=None,
                 max_retries=None,
                 depends_on=None):

        # Validate inputs
        if not isinstance(schedule, Schedule):
            raise ETLInputError(
                'Input schedule must be of the type Schedule')

        if not isinstance(script, S3File):
            raise ETLInputError('script must be an S3File')

        # Set default values
        if depends_on is None:
            depends_on = []
        if max_retries is None:
            max_retries = MAX_RETRIES

        super(SqlActivity, self).__init__(
            id=id,
            retryDelay=RETRY_DELAY,
            type='SqlActivity',
            maximumRetries=max_retries,
            dependsOn=depends_on,
            runsOn=resource,
            workerGroup=worker_group,
            schedule=schedule,
            scriptUri=script,
            scriptArgument=script_arguments,
            database=database,
            queue=queue
        )
Testing /infrastructure/type/delete/<type_id>
dataset/ETHPy150Open coursera/dataduct/dataduct/pipeline/sql_activity.py/SqlActivity.__init__--crossover with--dataset/ETHPy150Open treeio/treeio/treeio/infrastructure/tests.py/InfrastructureViewsTest.test_infrastructure_type_delete_out