def get_namespace_response_from_namespace(namespace): return { 'namespace_id': namespace.id, 'name': namespace.name, 'created_at': _format_datetime(namespace.created_at), 'updated_at': _format_datetime(namespace.updated_at) }
def get_category_response_from_source_category(source_category): return { 'source_id': source_category.source_id, 'category': source_category.category, 'created_at': _format_datetime(source_category.created_at), 'updated_at': _format_datetime(source_category.updated_at) }
def _get_namespace_resp(self, namespace): return { 'namespace_id': namespace.id, 'name': namespace.name, 'created_at': _format_datetime(namespace.created_at), 'updated_at': _format_datetime(namespace.updated_at) }
def get_expected_namespace_resp(self, namespace_id): namespace = utils.get_entity_by_id(models.Namespace, namespace_id) return { 'namespace_id': namespace.id, 'name': namespace.name, 'created_at': _format_datetime(namespace.created_at), 'updated_at': _format_datetime(namespace.updated_at) }
def _get_expected_category_response(self, source_id, expected_category): src_category = doc_tool.get_source_category_by_source_id(source_id) return { 'source_id': source_id, 'category': expected_category, 'created_at': _format_datetime(src_category.created_at), 'updated_at': _format_datetime(src_category.updated_at) }
def get_response_from_consumer_group_data_source(consumer_group_data_source): return { 'consumer_group_data_source_id': consumer_group_data_source.id, 'data_source_type': consumer_group_data_source.data_source_type, 'data_source_id': consumer_group_data_source.data_source_id, 'consumer_group_id': consumer_group_data_source.consumer_group_id, 'created_at': _format_datetime(consumer_group_data_source.created_at), 'updated_at': _format_datetime(consumer_group_data_source.updated_at) }
def source_response(self, biz_source): return { 'source_id': biz_source.id, 'namespace': self._get_namespace_resp(biz_source.namespace), 'name': biz_source.name, 'owner_email': biz_source.owner_email, 'created_at': _format_datetime(biz_source.created_at), 'updated_at': _format_datetime(biz_source.updated_at) }
def get_data_target_response_from_data_target(data_target): return { 'data_target_id': data_target.id, 'name': data_target.name, 'target_type': data_target.target_type, 'destination': data_target.destination, 'created_at': _format_datetime(data_target.created_at), 'updated_at': _format_datetime(data_target.updated_at) }
def get_expected_src_resp(self, source_id): src = utils.get_entity_by_id(models.Source, source_id) return { 'source_id': src.id, 'namespace': self.get_expected_namespace_resp(src.namespace.id), 'name': src.name, 'owner_email': src.owner_email, 'created_at': _format_datetime(src.created_at), 'updated_at': _format_datetime(src.updated_at) }
def get_consumer_group_response_from_consumer_group(consumer_group): return { 'consumer_group_id': consumer_group.id, 'group_name': consumer_group.group_name, 'data_target': get_data_target_response_from_data_target( consumer_group.data_target ), 'created_at': _format_datetime(consumer_group.created_at), 'updated_at': _format_datetime(consumer_group.updated_at) }
def get_element_response_from_element(element): return { 'id': element.id, 'schema_id': element.avro_schema_id, 'element_type': element.element_type, 'key': element.key, 'doc': element.doc, 'note': get_note_response_from_note(element.note), 'created_at': _format_datetime(element.created_at), 'updated_at': _format_datetime(element.updated_at), }
def get_source_response_from_source(source): return { 'source_id': source.id, 'name': source.name, 'owner_email': source.owner_email, 'namespace': get_namespace_response_from_namespace(source.namespace), 'category': (None if source.category is None else source.category.category), 'created_at': _format_datetime(source.created_at), 'updated_at': _format_datetime(source.updated_at) }
def get_topic_response_from_topic(topic): return { 'topic_id': topic.id, 'name': topic.name, 'source': get_source_response_from_source(topic.source), 'contains_pii': topic.contains_pii, 'cluster_type': topic.cluster_type, 'primary_keys': topic.primary_keys, 'created_at': _format_datetime(topic.created_at), 'updated_at': _format_datetime(topic.updated_at) }
def get_expected_topic_resp(self, topic_id): topic = utils.get_entity_by_id(models.Topic, topic_id) return { 'topic_id': topic.id, 'name': topic.name, 'source': self.get_expected_src_resp(topic.source_id), 'contains_pii': False, 'cluster_type': topic.cluster_type, 'primary_keys': topic.primary_keys, 'created_at': _format_datetime(topic.created_at), 'updated_at': _format_datetime(topic.updated_at), }
def get_source_response_from_source(source): return { 'source_id': source.id, 'name': source.name, 'owner_email': source.owner_email, 'namespace': get_namespace_response_from_namespace(source.namespace), 'category': ( None if source.category is None else source.category.category ), 'created_at': _format_datetime(source.created_at), 'updated_at': _format_datetime(source.updated_at) }
def _get_expected_note_response(self, note_id, ref_id, ref_type, note_text, updated_by): note = utils.get_entity_by_id(models.Note, note_id) return { 'id': note.id, 'reference_id': ref_id, 'reference_type': ref_type, 'note': note_text, 'last_updated_by': updated_by, 'created_at': _format_datetime(note.created_at), 'updated_at': _format_datetime(note.updated_at) }
def get_note_response_from_note(note): if note is not None: response = { 'id': note.id, 'reference_type': note.reference_type, 'reference_id': note.reference_id, 'note': note.note, 'last_updated_by': note.last_updated_by, 'created_at': _format_datetime(note.created_at), 'updated_at': _format_datetime(note.updated_at) } return response return None
def test_happy_case(self, mock_request, biz_source): doc_tool.create_source_category(biz_source.id, 'Biz') src_category = doc_tool.get_source_category_by_source_id(biz_source.id) expected = { 'source_id': src_category.source_id, 'category': 'Biz', 'created_at': _format_datetime(src_category.created_at), 'updated_at': _format_datetime(src_category.updated_at) } mock_request.matchdict = {'source_id': str(biz_source.id)} actual = source_views.delete_category(mock_request) assert actual == expected
def get_response_from_consumer_group_data_source(consumer_group_data_source): return { 'consumer_group_data_source_id': consumer_group_data_source.id, 'data_source_type': consumer_group_data_source.data_source_type, 'data_source_id': consumer_group_data_source.data_source_id, 'consumer_group_id': consumer_group_data_source.consumer_group_id, 'created_at': _format_datetime( consumer_group_data_source.created_at ), 'updated_at': _format_datetime( consumer_group_data_source.updated_at ) }
def get_expected_data_target_resp(self, data_target_id, **overrides): data_target = utils.get_entity_by_id(models.DataTarget, data_target_id) expected = { 'data_target_id': data_target.id, 'name': data_target.name, 'target_type': data_target.target_type, 'destination': data_target.destination, 'created_at': _format_datetime(data_target.created_at), 'updated_at': _format_datetime(data_target.updated_at) } if overrides: expected.update(overrides) return expected
def get_consumer_group_response_from_consumer_group(consumer_group): return { 'consumer_group_id': consumer_group.id, 'group_name': consumer_group.group_name, 'data_target': get_data_target_response_from_data_target(consumer_group.data_target), 'created_at': _format_datetime(consumer_group.created_at), 'updated_at': _format_datetime(consumer_group.updated_at) }
def get_expected_consumer_group_resp(self, consumer_group_id, **overrides): group = utils.get_entity_by_id(models.ConsumerGroup, consumer_group_id) expected = { 'consumer_group_id': group.id, 'group_name': group.group_name, 'data_target': self.get_expected_data_target_resp(group.data_target.id), 'created_at': _format_datetime(group.created_at), 'updated_at': _format_datetime(group.updated_at) } if overrides: expected.update(overrides) return expected
def get_refresh_response_from_refresh(refresh): return { 'refresh_id': refresh.id, 'source_name': refresh.source.name, 'namespace_name': refresh.source.namespace.name, 'status': refresh.status, 'offset': refresh.offset, 'batch_size': refresh.batch_size, 'priority': refresh.priority, 'filter_condition': refresh.filter_condition, 'avg_rows_per_second_cap': refresh.avg_rows_per_second_cap, 'created_at': _format_datetime(refresh.created_at), 'updated_at': _format_datetime(refresh.updated_at) }
def get_expected_consumer_group_resp(self, consumer_group_id, **overrides): group = utils.get_entity_by_id(models.ConsumerGroup, consumer_group_id) expected = { 'consumer_group_id': group.id, 'group_name': group.group_name, 'data_target': self.get_expected_data_target_resp( group.data_target.id ), 'created_at': _format_datetime(group.created_at), 'updated_at': _format_datetime(group.updated_at) } if overrides: expected.update(overrides) return expected
def get_expected_schema_resp(self, schema_id, **overrides): avro_schema = utils.get_entity_by_id(models.AvroSchema, schema_id) expected = { 'schema_id': avro_schema.id, 'schema': avro_schema.avro_schema, 'topic': self.get_expected_topic_resp(avro_schema.topic_id), 'status': models.AvroSchemaStatus.READ_AND_WRITE, 'primary_keys': [], 'created_at': _format_datetime(avro_schema.created_at), 'updated_at': _format_datetime(avro_schema.updated_at) } if overrides: expected.update(overrides) return expected
def _get_expected_elements_response(self, biz_schema): response = [] for element in biz_schema.avro_schema_elements: response.append({ 'id': element.id, 'schema_id': biz_schema.id, 'element_type': element.element_type, 'key': element.key, 'doc': element.doc, 'created_at': _format_datetime(element.created_at), 'updated_at': _format_datetime(element.updated_at) }) return response
def get_expected_consumer_group_data_src_resp( self, consumer_group_data_source_id, **overrides): data_source = utils.get_entity_by_id(models.ConsumerGroupDataSource, consumer_group_data_source_id) expected = { 'consumer_group_data_source_id': data_source.id, 'consumer_group_id': data_source.consumer_group.id, 'data_source_type': data_source.data_source_type, 'data_source_id': data_source.data_source_id, 'created_at': _format_datetime(data_source.created_at), 'updated_at': _format_datetime(data_source.updated_at) } if overrides: expected.update(overrides) return expected
def _transform_datetime_field(response): if isinstance(response, dict): for key, value in response.iteritems(): if isinstance(value, datetime): response[key] = _format_datetime(value) elif isinstance(value, dict): _transform_datetime_field(value)
def _get_expected_note_response( self, note_id, ref_id, ref_type, note_text, updated_by ): note = utils.get_entity_by_id(models.Note, note_id) return { 'id': note.id, 'reference_id': ref_id, 'reference_type': ref_type, 'note': note_text, 'last_updated_by': updated_by, 'created_at': _format_datetime(note.created_at), 'updated_at': _format_datetime(note.updated_at) }
def get_expected_src_refresh_resp(self, src_refresh_id, **overrides): src_refresh = utils.get_entity_by_id(models.Refresh, src_refresh_id) expected = { 'refresh_id': src_refresh.id, 'source_name': src_refresh.source.name, 'namespace_name': src_refresh.source.namespace.name, 'status': models.RefreshStatus(src_refresh.status).name, 'offset': src_refresh.offset, 'batch_size': src_refresh.batch_size, 'priority': src_refresh.priority, 'created_at': _format_datetime(src_refresh.created_at), 'updated_at': _format_datetime(src_refresh.updated_at) } if src_refresh.avg_rows_per_second_cap is not None: expected[ 'avg_rows_per_second_cap'] = src_refresh.avg_rows_per_second_cap if overrides: expected.update(overrides) return expected
def get_schema_response_from_avro_schema(avro_schema): response = { 'schema_id': avro_schema.id, 'schema': avro_schema.avro_schema, 'status': avro_schema.status, 'topic': get_topic_response_from_topic(avro_schema.topic), 'primary_keys': avro_schema.avro_schema_json.get( AvroMetaDataKeys.PRIMARY_KEY, [] ), 'note': get_note_response_from_note(avro_schema.note), 'created_at': _format_datetime(avro_schema.created_at), 'updated_at': _format_datetime(avro_schema.updated_at) } # Since swagger cannot take null or None value for integer type, # here we just simply strip out this field. if avro_schema.base_schema_id is not None: response['base_schema_id'] = avro_schema.base_schema_id return response
def get_expected_consumer_group_data_src_resp( self, consumer_group_data_source_id, **overrides ): data_source = utils.get_entity_by_id( models.ConsumerGroupDataSource, consumer_group_data_source_id ) expected = { 'consumer_group_data_source_id': data_source.id, 'consumer_group_id': data_source.consumer_group.id, 'data_source_type': data_source.data_source_type, 'data_source_id': data_source.data_source_id, 'created_at': _format_datetime(data_source.created_at), 'updated_at': _format_datetime(data_source.updated_at) } if overrides: expected.update(overrides) return expected
def get_expected_src_refresh_resp(self, src_refresh_id, **overrides): src_refresh = utils.get_entity_by_id(models.Refresh, src_refresh_id) expected = { 'refresh_id': src_refresh.id, 'source_name': src_refresh.source.name, 'namespace_name': src_refresh.source.namespace.name, 'status': models.RefreshStatus(src_refresh.status).name, 'offset': src_refresh.offset, 'batch_size': src_refresh.batch_size, 'priority': src_refresh.priority, 'created_at': _format_datetime(src_refresh.created_at), 'updated_at': _format_datetime(src_refresh.updated_at) } if src_refresh.avg_rows_per_second_cap is not None: expected[ 'avg_rows_per_second_cap' ] = src_refresh.avg_rows_per_second_cap if overrides: expected.update(overrides) return expected
def _get_expected_elements_response(self, biz_schema): response = [] for element in biz_schema.avro_schema_elements: response.append( { 'id': element.id, 'schema_id': biz_schema.id, 'element_type': element.element_type, 'key': element.key, 'doc': element.doc, 'created_at': _format_datetime( element.created_at ), 'updated_at': _format_datetime( element.updated_at ) } ) return response
def get_schema_response_from_avro_schema(avro_schema): response = { 'schema_id': avro_schema.id, 'schema': avro_schema.avro_schema, 'status': avro_schema.status, 'topic': get_topic_response_from_topic(avro_schema.topic), 'primary_keys': avro_schema.avro_schema_json.get(AvroMetaDataKeys.PRIMARY_KEY, []), 'note': get_note_response_from_note(avro_schema.note), 'created_at': _format_datetime(avro_schema.created_at), 'updated_at': _format_datetime(avro_schema.updated_at) } # Since swagger cannot take null or None value for integer type, # here we just simply strip out this field. if avro_schema.base_schema_id is not None: response['base_schema_id'] = avro_schema.base_schema_id return response