def testConvertsSingleValueWithMultipleAssociatedConverters(self): dummy_value = DummyRDFValue3("some") result = list(export.ConvertValues(self.metadata, [dummy_value])) self.assertLen(result, 2) self.assertTrue((isinstance(result[0], DummyRDFValue) and isinstance(result[1], DummyRDFValue2)) or (isinstance(result[0], DummyRDFValue2) and isinstance(result[1], DummyRDFValue))) self.assertTrue((result[0] == DummyRDFValue("someA") and result[1] == DummyRDFValue2("someB")) or (result[0] == DummyRDFValue2("someB") and result[1] == DummyRDFValue("someA")))
def testDataAgnosticConverterIsUsedWhenNoSpecificConverterIsDefined(self): original_value = export_test_lib.DataAgnosticConverterTestValue() # There's no converter defined for # export_test_lib.DataAgnosticConverterTestValue, # so we expect DataAgnosticExportConverter to be used. converted_values = list( export.ConvertValues(self.metadata, [original_value])) self.assertLen(converted_values, 1) converted_value = converted_values[0] self.assertEqual(converted_value.__class__.__name__, "AutoExportedDataAgnosticConverterTestValue")
def ProcessResponses(self, state, responses): default_metadata = export.ExportedMetadata(annotations=u",".join( self.args.export_options.annotations), source_urn=self.source_urn) if self.args.convert_values: # This is thread-safe - we just convert the values. converted_responses = export.ConvertValues( default_metadata, responses, options=self.args.export_options) else: converted_responses = responses # This is not thread-safe, therefore WriteValueToJSONFile is synchronized. self.WriteValuesToJSONFile(state, converted_responses)
def testDoesNotRaiseWhenNoSpecificConverterIsDefined(self): dummy_value = DummyRDFValue2("some") export.ConvertValues(self.metadata, [dummy_value])
def testConverterIsCorrectlyFound(self): dummy_value = DummyRDFValue("result") result = list(export.ConvertValues(self.metadata, [dummy_value])) self.assertLen(result, 1) self.assertIsInstance(result[0], rdfvalue.RDFString) self.assertEqual(result[0], "result")