def _start_execution(self, stateMachineArn, name, input): def context(): return MockLambdaContext(StorageVisitation.shutdown_time + self.timeout) Config.set_config(BucketConfig.NORMAL) input = json.loads(input) state = implementation.job_initialize(input, context()) walker_state = copy.deepcopy(state) state['work_result'] = [] while walker_state['_status'] == 'init': walker_state = implementation.walker_initialize(walker_state, context(), 0) while walker_state['_status'] == 'walk': walker_state = implementation.walker_walk(walker_state, context(), 0) walker_state = implementation.walker_finalize(walker_state, context(), 0) self.assertEquals(walker_state['_status'], 'end') state['work_result'].append(walker_state['work_result']) state = implementation.job_finalize(state, context()) work_result = state['work_result'] for replica, missing, present in zip(state['replicas'], work_result['missing'], work_result['present']): keys = self.keys[Replica[replica]] self.assertEquals(self.num_keys, missing + present) self.assertEquals(len(keys), present) # Return the total number of missing keys (which is different between each test run because the overall number # of keys is random). The test can assert this value, proving that this was code actually run. return {'executionArn': str(sum(work_result['missing']))}
def test_s3_checkout_bucket(self): Config.set_config(BucketConfig.NORMAL) self.assertEquals(Config.get_s3_checkout_bucket(), os.environ["DSS_S3_CHECKOUT_BUCKET"]) Config.set_config(BucketConfig.TEST) self.assertEquals(Config.get_s3_checkout_bucket(), os.environ["DSS_S3_CHECKOUT_BUCKET_TEST"]) Config.set_config(BucketConfig.TEST_FIXTURE) self.assertEquals(Config.get_s3_checkout_bucket(), os.environ["DSS_S3_CHECKOUT_BUCKET_TEST"])
def setUp(self): self.remaining_time = SpecificRemainingTime(10) Config.set_config(BucketConfig.TEST) self.s3_test_fixtures_bucket = get_env("DSS_S3_BUCKET_TEST_FIXTURES") self.gs_test_fixtures_bucket = get_env("DSS_GS_BUCKET_TEST_FIXTURES") self.s3_test_bucket = get_env("DSS_S3_BUCKET_TEST") self.gs_test_bucket = get_env("DSS_GS_BUCKET_TEST") class VT(Visitation): def walker_walk(self): pass registered_visitations.registered_visitations['VT'] = VT self.job_state = { '_visitation_class_name': 'VT', 'work_ids': ['1', '2', '3', '4'], '_number_of_workers': 3, } self.walker_state = { '_visitation_class_name': 'VT', 'work_ids': [['1', '2'], ['3', '4']], }
def test_s3_events_bucket(self): Config.set_config(BucketConfig.NORMAL) self.assertEqual(Config.get_flashflood_bucket(), os.environ["DSS_FLASHFLOOD_BUCKET"]) Config.set_config(BucketConfig.TEST) self.assertEqual(Config.get_flashflood_bucket(), os.environ["DSS_S3_BUCKET_TEST"]) Config.set_config(BucketConfig.TEST_FIXTURE) self.assertEqual(Config.get_flashflood_bucket(), os.environ["DSS_S3_BUCKET_TEST"])
def test_notification_email(self): for bucket_config in BucketConfig: Config.set_config(bucket_config) self.assertEquals(Config.get_notification_email(), os.environ["DSS_NOTIFICATION_SENDER"])
def tearDownModule(self): Config.set_config(self.init_config)
def setUpModule(): Config.set_config(BucketConfig.TEST) MockFusilladeHandler.start_serving()