def test_create_eventbuffer_with_multiple_things(self): fclient = FClient(host=host, token=token) eventbuffer = Schemas.Eventbuffer() eventbuffer.set_name('Motor Health' + str(random.random())) eventbuffer.set_time_identifier('time') eventbuffer.set_time_format('iso_8601') eventbuffer.set_thing_identifier('thing') try: response = fclient.create_eventbuffer(eventbuffer) self.assertEqual(isinstance(response, Schemas.Eventbuffer), True, 'Invalid Eventbuffer object after creation') self.assertEqual(isinstance(response.get_id(), unicode), True, 'Invalid Eventbuffer object after creation') self.assertEqual(response.get_name(), eventbuffer.get_name(), 'Invalid Eventbuffer object after creation') self.assertEqual(len(response.get_schema()), 1, 'Invalid Eventbuffer object after creation') self.assertEqual(len(response.get_subscriptions()), 1, 'Invalid Eventbuffer object after creation') self.assertEqual(response.get_thing_identifier(), eventbuffer.get_thing_identifier(), 'Invalid Eventbuffer object after creation') # tear down try: fclient.delete_eventbuffer(response.get_id()) except Exception as e: pass except Exception as e: print(e.message) self.assertEqual(0, 1, 'Cannot create Eventbuffer')
def test_add_data_single_thing(self): fclient = FClient(host=host, token=token) eventbuffer = Schemas.Eventbuffer() eventbuffer.set_name('Motor Health') eventbuffer.set_time_identifier('time') eventbuffer.set_time_format('iso_8601') try: eventbuffer = fclient.create_eventbuffer(eventbuffer) try: data = '{"time" :"2016-03-01 01:01:01", "current" : 12.4, "vibration" : 3.4, "state" : "On"}' response = fclient.add_input_data(eventbuffer.get_id(), 'json', {}, data) self.assertNotEqual(response['__$id'], None, 'Cannot add input data to eventbuffer') # tear down try: fclient.delete_pipeline(created_pipeline.get_id()) fclient.delete_eventbuffer(eventbuffer.get_id()) except Exception as e: pass except Exception as e: print(e.message) self.assertEqual(0, 1, 'Cannot add input data to eventbuffer') except Exception as e: print(e.message) self.assertEqual(0, 1, 'Cannot create eventbuffer')
def test_create_eventbuffer_with_pipeline_outflow_subscription(self): fclient = FClient(host=host, token=token) eventbuffer = Schemas.Eventbuffer() eventbuffer.set_name('Motor Health' + str(random.random())) eventbuffer.set_time_identifier('time') eventbuffer.set_time_format('iso_8601') subscription = Schemas.Subscription() subscription.set_type('PIPELINEOUTFLOW') \ .set_path('urn:falkonry:pipeline:qaerscdtxh7rc3') try: eventbuffer = fclient.create_eventbuffer(eventbuffer) try: response = fclient.create_subscription(eventbuffer.get_id(), subscription) self.assertNotEqual( response.get_key(), None, 'Invalid Subscription object after creation') self.assertEqual(response.get_type(), 'PIPELINEOUTFLOW', 'Invalid Subscription object after creation') self.assertEqual(response.get_path(), subscription.get_path(), 'Invalid Subscription object after creation') except Exception as e: print(e.message) self.assertEqual(0, 1, 'Cannot create Subscription') # tear down try: fclient.delete_eventbuffer(eventbuffer.get_id()) except Exception as e: pass except Exception as e: print(e.message) self.assertEqual(0, 1, 'Cannot create Eventbuffer')
def test_get_assessment_historical_output(self): fclient = FClient(host=host, token=token,options=None) try: options = {'startTime':'2011-01-02T01:00:00.000Z','endTime':'2013-06-13T01:00:00.000Z','responseFormat':'application/json'} response = fclient.get_historical_output(assessment, options) '''If data is not readily available then, a tracker id will be sent with 202 status code. While falkonry will genrate ouptut data Client should do timely pooling on the using same method, sending tracker id (__id) in the query params Once data is available server will response with 200 status code and data in json/csv format.''' if response.status_code is 202: trackerResponse = Schemas.Tracker(tracker=json.loads(response.text)) # get id from the tracker trackerId = trackerResponse.get_id() # use this tracker for checking the status of the process. options = {"trackerId": trackerId, "responseFormat":"application/json"} newResponse = fclient.get_historical_output(assessment, options) # if status is 202 call the same request again if response.status_code is 200: # if status is 200, output data will be present in response.text field self.assertEqual(len(response.text) > 0, True, 'Error getting historical output of a Assessment') except Exception as e: print(exception_handler(e)) self.assertEqual(0, 1, 'Error getting output of a Assessment')
def test_get_assessment_output_with_offset(self): fclient = FClient(host=host, token=token, options=None) try: stream = fclient.get_output(assessment, {}) lastOffset = 0 for event in stream.events(): print(json.dumps(json.loads(event.data))) lastOffset = json.loads( event.data )['offset'] # keep track of offset sent in falkonry output event except Exception as e: print(exception_handler(e)) ''' Assuming there was some exception occured and you want to listen the output again then use the offset value and set it in the options parameter. ''' # assuming last offset was 10 options = {"offset": lastOffset} try: stream = fclient.get_output(assessment, options) for event in stream.events(): self.assertEqual( json.loads(event.data)['offset'] >= lastOffset, True) print(json.dumps(json.loads(event.data))) except Exception as e: print(exception_handler(e)) self.assertEqual(0, 1, 'Error getting output of a Assessment')
def test_get_assessment_output(self): fclient = FClient(host=host, token=token, options=None) try: stream = fclient.get_output(assessment, {}) for event in stream.events(): print(json.dumps(json.loads(event.data))) except Exception as e: print(e.message) self.assertEqual(0, 1, 'Error getting output of a Assessment')
def test_get_pipeline_output(self): fclient = FClient(host=host, token=token) try: response = fclient.get_output(pipeline, 1456794061) with open('/tmp/pipeline_' + pipeline + 'output.json', 'w') as f: for line in response: f.write(line + '\n') except Exception as e: print(e.message) self.assertEqual(0, 1, 'Error getting output of a Pipeline')
def test_add_json_verification(self): fclient = FClient(host=host, token=token) eventbuffer = Schemas.Eventbuffer() eventbuffer.set_name('Motor Health' + str(random.random())) eventbuffer.set_time_identifier('time') eventbuffer.set_time_format('iso_8601') try: eventbuffer = fclient.create_eventbuffer(eventbuffer) try: data = '{"time" :"2016-03-01 01:01:01", "current" : 12.4, "vibration" : 3.4, "state" : "On"}' response = fclient.add_input_data(eventbuffer.get_id(), 'json', {}, data) pipeline = Schemas.Pipeline() signals = { 'current': 'Numeric', 'vibration': 'Numeric', 'state': 'Categorical' } assessment = Schemas.Assessment() assessment.set_name('Health') \ .set_input_signals(['current', 'vibration', 'state']) pipeline.set_name('Motor Health 1') \ .set_eventbuffer(eventbuffer.get_id()) \ .set_input_signals(signals) \ .set_assessment(assessment) try: resp_pipeline = fclient.create_pipeline(pipeline) data = io.open('./verificationData.json') response = fclient.add_verification( resp_pipeline.get_id(), 'json', {}, data) # tear down try: fclient.delete_pipeline(resp_pipeline.get_id()) fclient.delete_eventbuffer(eventbuffer.get_id()) except Exception as e: pass except Exception as e: print(e.message) try: fclient.delete_eventbuffer(eventbuffer.get_id()) except Exception as e: pass self.assertEqual(0, 1, 'Cannot create pipeline') except Exception as e: print(e.message) self.assertEqual(0, 1, "Cannot add data") except Exception as e: print(e.message) self.assertEqual(0, 1, 'Cannot create eventbuffer')
def test_create_eventbuffer_with_mqtt_subscription(self): fclient = FClient(host=host, token=token) eventbuffer = Schemas.Eventbuffer() eventbuffer.set_name('Motor Health' + str(random.random())) eventbuffer.set_time_identifier('time') eventbuffer.set_time_format('iso_8601') subscription = Schemas.Subscription() subscription.set_type('MQTT') \ .set_path('mqtt://test.mosquito.com') \ .set_topic('falkonry-eb-1-test') \ .set_username('test-user') \ .set_password('test') try: eventbuffer = fclient.create_eventbuffer(eventbuffer) try: response = fclient.create_subscription(eventbuffer.get_id(), subscription) self.assertNotEqual( response.get_key(), None, 'Invalid Subscription object after creation') self.assertEqual(response.get_type(), 'MQTT', 'Invalid Subscription object after creation') self.assertEqual(response.get_topic(), subscription.get_topic(), 'Invalid Subscription object after creation') self.assertEqual(response.get_path(), subscription.get_path(), 'Invalid Subscription object after creation') self.assertEqual(response.get_username(), subscription.get_username(), 'Invalid Subscription object after creation') self.assertEqual(response.get_time_identifier(), eventbuffer.get_time_identifier(), 'Invalid Subscription object after creation') self.assertEqual(response.get_time_format(), eventbuffer.get_time_format(), 'Invalid Subscription object after creation') except Exception as e: print(e.message) self.assertEqual(0, 1, 'Cannot create Subscription') # tear down try: fclient.delete_eventbuffer(eventbuffer.get_id()) except Exception as e: pass except Exception as e: print(e.message) self.assertEqual(0, 1, 'Cannot create Eventbuffer')
def test_create_eventbuffer_for_narrow_format_data(self): fclient = FClient(host=host, token=token) eventbuffer = Schemas.Eventbuffer() eventbuffer.set_name('Motor Health' + str(random.random())) eventbuffer.set_time_identifier('time') eventbuffer.set_time_format('iso_8601') eventbuffer.set_signals_tag_field("tag") eventbuffer.set_signals_delimiter("_") eventbuffer.set_signals_location("prefix") eventbuffer.set_value_column("value") try: response = fclient.create_eventbuffer(eventbuffer) self.assertEqual(isinstance(response, Schemas.Eventbuffer), True, 'Invalid Eventbuffer object after creation') self.assertEqual(isinstance(response.get_id(), unicode), True, 'Invalid Eventbuffer object after creation') self.assertEqual(response.get_name(), eventbuffer.get_name(), 'Invalid Eventbuffer object after creation') self.assertEqual(len(response.get_schema()), 1, 'Invalid Eventbuffer object after creation') self.assertEqual(len(response.get_subscriptions()), 1, 'Invalid Eventbuffer object after creation') self.assertEqual(response.get_signals_tag_field(), eventbuffer.get_signals_tag_field(), 'Invalid Eventbuffer object after creation') self.assertEqual(response.get_signals_delimiter(), eventbuffer.get_signals_delimiter(), 'Invalid Eventbuffer object after creation') self.assertEqual(response.get_signals_location(), eventbuffer.get_signals_location(), 'Invalid Eventbuffer object after creation') self.assertEqual(response.get_value_column(), eventbuffer.get_value_column(), 'Invalid Eventbuffer object after creation') # tear down try: fclient.delete_eventbuffer(response.get_id()) except Exception as e: pass except Exception as e: print(e.message) self.assertEqual(0, 1, 'Cannot create Eventbuffer')
def test_get_pipelines(self): fclient = FClient(host=host, token=token) eventbuffer = Schemas.Eventbuffer() options = { 'timeIdentifier' : 'time', 'timeFormat' : 'iso_8601' } eventbuffer.set_name('Motor Health') try: eventbuffer = fclient.create_eventbuffer(eventbuffer, options) pipeline = Schemas.Pipeline() signals = { 'current': 'Numeric', 'vibration': 'Numeric', 'state': 'Categorical' } assessment = Schemas.Assessment() assessment.set_name('Health') \ .set_input_signals(['current', 'vibration', 'state']) pipeline.set_name('Motor Health 1') \ .set_eventbuffer(eventbuffer.get_id()) \ .set_input_signals(signals) \ .set_thing_name('Motor') \ .set_assessment(assessment) try: response = fclient.create_pipeline(pipeline) pipelines = fclient.get_pipelines() self.assertGreater(len(pipelines), 0, 'Cannot fetch Pipelines') # tear down try: fclient.delete_pipeline(response.get_id()) fclient.delete_eventbuffer(eventbuffer.get_id()) except Exception as e: pass except Exception as e: print(e.message) self.assertEqual(0, 1, 'Cannot fetch Pipelines') except Exception as e: print(e.message) self.assertEqual(0, 1, 'Cannot create eventbuffer')
def setUp(self): self.fclient = FClient(host=host, token=token, options=None) pass
def test_create_publication_of_splunk_type(self): fclient = FClient(host=host, token=token) eventbuffer = Schemas.Eventbuffer() eventbuffer.set_name('Motor Health') eventbuffer.set_time_identifier('time') eventbuffer.set_time_format('iso_8601') try: eventbuffer = fclient.create_eventbuffer(eventbuffer) pipeline = Schemas.Pipeline() signals = { 'current': 'Numeric', 'vibration': 'Numeric', 'state': 'Categorical' } assessment = Schemas.Assessment() assessment.set_name('Health') \ .set_input_signals(['current', 'vibration', 'state']) pipeline.set_name('Motor Health 1') \ .set_eventbuffer(eventbuffer.get_id()) \ .set_input_signals(signals) \ .set_thing_name('Motor') \ .set_assessment(assessment) try: pipeline = fclient.create_pipeline(pipeline) try: publication = Schemas.Publication() \ .set_type('SPLUNK') \ .set_topic('falkonry-test-pipeline') \ .set_path('https://test.splunk.com/') \ .set_headers({ 'Authorization': 'Token 1234567890' }) response = fclient.create_publication( pipeline.get_id(), publication) self.assertEqual( isinstance(response, Schemas.Publication), True, 'Invalid Publication object after creation') self.assertEqual( isinstance(response.get_key(), unicode), True, 'Invalid Publication object after creation') self.assertEqual( response.get_type(), 'SPLUNK', 'Invalid Publication object after creation') self.assertEqual( response.get_topic(), 'falkonry-test-pipeline', 'Invalid Publication object after creation') self.assertEqual( response.get_path(), 'https://test.splunk.com/', 'Invalid Publication object after creation') except Exception as e: print(e.message) self.assertEqual(0, 1, 'Cannot create publication') # tear down try: fclient.delete_pipeline(pipeline.get_id()) fclient.delete_eventbuffer(eventbuffer.get_id()) except Exception as e: pass except Exception as e: print(e.message) self.assertEqual(0, 1, 'Cannot create pipeline') except Exception as e: print(e.message) self.assertEqual(0, 1, 'Cannot create eventbuffer')
def test_create_pipeline_for_single_thing_with_eventType(self): fclient = FClient(host=host, token=token) eventbuffer = Schemas.Eventbuffer() eventbuffer.set_name('Motor Health' + str(random.random())) eventbuffer.set_time_identifier('time') eventbuffer.set_time_format('iso_8601') try: eventbuffer = fclient.create_eventbuffer(eventbuffer) data = '{"time" :"2016-03-01 01:01:01", "current" : 12.4, "vibration" : 3.4, "state" : "On"}' try: response = fclient.add_input_data(eventbuffer.get_id(), 'json', {}, data) pipeline = Schemas.Pipeline() signals = { 'current': ['Numeric', 'Occurrences'], 'vibration': ['Numeric', 'Samples'], 'state': 'Categorical' } assessment = Schemas.Assessment() assessment.set_name('Health') \ .set_input_signals(['current', 'vibration', 'state']) pipeline.set_name('Motor Health 1') \ .set_eventbuffer(eventbuffer.get_id()) \ .set_input_signals(signals) \ .set_assessment(assessment) try: response = fclient.create_pipeline(pipeline) self.assertEqual(isinstance(response, Schemas.Pipeline), True, 'Invalid Pipeline object after creation') self.assertEqual(isinstance(response.get_id(), unicode), True, 'Invalid Pipeline object after creation') self.assertEqual(response.get_name(), pipeline.get_name(), 'Invalid Pipeline object after creation') self.assertNotEqual( response.get_thing_name(), None, 'Invalid Pipeline object after creation') self.assertEqual(len(response.get_input_signals()), 3, 'Invalid Pipeline object after creation') self.assertEqual(len(response.get_assessments()), 1, 'Invalid Pipeline object after creation') self.assertEqual(response.get_eventbuffer(), eventbuffer.get_id(), 'Invalid Pipeline object after creation') # tear down try: fclient.delete_pipeline(response.get_id()) fclient.delete_eventbuffer(eventbuffer.get_id()) except Exception as e: pass except Exception as e: print(e.message) try: fclient.delete_eventbuffer(eventbuffer.get_id()) except Exception as e: pass self.assertEqual(0, 1, 'Cannot create pipeline') except Exception as e: print(e.message) self.assertEqual(0, 1, 'Cannot add data') except Exception as e: print(e.message) self.assertEqual(0, 1, 'Cannot create eventbuffer')
def test_get_entity_meta(self): fclient = FClient(host=host, token=token, options=None) datastream = Schemas.Datastream() datastream.set_name('Motor Health' + str(random.random())) datasource = Schemas.Datasource() field = Schemas.Field() time = Schemas.Time() signal = Schemas.Signal() time.set_zone("GMT") time.set_identifier("time") time.set_format("iso_8601") field.set_signal(signal) datasource.set_type("STANDALONE") field.set_time(time) datastream.set_datasource(datasource) datastream.set_field(field) try: datastreamResponse = fclient.create_datastream(datastream) self.created_datastreams.append(datastreamResponse.get_id()) self.assertEqual( isinstance(datastreamResponse, Schemas.Datastream), True, 'Invalid Datastream object after creation') self.assertEqual(isinstance(datastreamResponse.get_id(), str), True, 'Invalid id of datastream after creation') data = [{ "sourceId": "testId", "label": "testName", "path": "root/path" }] # add EntityMeta entityMetaResponse = fclient.add_entity_meta( datastreamResponse.get_id(), {}, data) self.assertEqual(isinstance(entityMetaResponse, list), True, 'Invalid entityMeta object after creation') self.assertEqual( len(entityMetaResponse) > 0, True, 'Invalid length of entityMeta') entityMetaResp = entityMetaResponse.__getitem__(0) self.assertEqual(isinstance(entityMetaResp, Schemas.EntityMeta), True, 'Invalid entityMeta object after creation') self.assertEqual(isinstance(entityMetaResp.get_id(), str), True, 'Invalid id of entityMeta after creation') self.assertEqual(entityMetaResp.get_label(), 'testName', 'Invalid label of entityMeta after creation') self.assertEqual(entityMetaResp.get_path(), 'root/path', 'Invalid path of entityMeta after creation') self.assertEqual(entityMetaResp.get_sourceId(), 'testId', 'Invalid sourceId of entityMeta after creation') #get entity meta getEntityMetaResponse = fclient.get_entity_meta( datastreamResponse.get_id()) self.assertEqual(isinstance(getEntityMetaResponse, list), True, 'Invalid entityMeta object after creation') self.assertEqual( len(getEntityMetaResponse) > 0, True, 'Invalid length of entityMeta') getEntityMetaResp = getEntityMetaResponse.__getitem__(0) self.assertEqual(isinstance(getEntityMetaResp, Schemas.EntityMeta), True, 'Invalid entityMeta object after creation') self.assertEqual(isinstance(getEntityMetaResp.get_id(), str), True, 'Invalid id of entityMeta after creation') self.assertEqual(getEntityMetaResp.get_label(), 'testName', 'Invalid label of entityMeta after creation') self.assertEqual(getEntityMetaResp.get_path(), 'root/path', 'Invalid path of entityMeta after creation') self.assertEqual(getEntityMetaResp.get_sourceId(), 'testId', 'Invalid sourceId of entityMeta after creation') except Exception as e: print(exception_handler(e)) self.assertEqual(0, 1, 'Cannot add entityMeta to datastream')
def setUp(self): self.fclient = FClient(host=host, token=token, options=None) self.created_datastreams = [] pass
def test_create_datastream_with_batch_identifier(self): fclient = FClient(host=host, token=token, options=None) datastream = Schemas.Datastream() datasource = Schemas.Datasource() field = Schemas.Field() time = Schemas.Time() signal = Schemas.Signal() input1 = Schemas.Input() input2 = Schemas.Input() input3 = Schemas.Input() datastream.set_name('Motor Health' + str(random.random())) # set name of the Datastream input1.set_name("Signal1") # set name of input signal input1.set_value_type( "Numeric" ) # set value type of input signal (Numeric for number, Categorical for string type) input1.set_event_type("Samples") # set event type of input signal input2.set_name("Signal2") # set name of input signal input2.set_value_type( "Numeric" ) # set value type of input signal (Numeric for number, Categorical for string type) input2.set_event_type("Samples") # set event type of input signal input3.set_name("Signal3") # set name of input signal input3.set_value_type( "Numeric" ) # set value type of input signal (Numeric for number, Categorical for string type) input3.set_event_type("Samples") # set event type of input signal inputs = [] inputs.append(input1) inputs.append(input2) inputs.append(input3) time.set_zone("GMT") # set timezone of the datastream time.set_identifier("time") # set time identifier of the datastream time.set_format("iso_8601") # set time format of the datastream field.set_time(time) field.set_signal(signal) # set signal in field field.set_batchIdentifier("batch") # set batchIdentifier in field datasource.set_type("STANDALONE") # set datastource type in datastream datastream.set_datasource(datasource) datastream.set_field(field) datastream.set_inputs(inputs) try: # create Datastream response = fclient.create_datastream(datastream) self.created_datastreams.append(response.get_id()) self.assertEqual(isinstance(response, Schemas.Datastream), True, 'Invalid Datastream object after creation') self.assertEqual(isinstance(response.get_id(), unicode), True, 'Invalid id of datastream after creation') self.assertEqual(response.get_name(), datastream.get_name(), 'Invalid name of Datastream after creation') fieldResponse = response.get_field() self.assertEqual( isinstance(fieldResponse, Schemas.Field), True, 'Invalid field in Datastream object after creation') self.assertEqual( fieldResponse.get_entityIdentifier(), "entity", 'Invalid entity identifier object after creation') self.assertEqual(fieldResponse.get_entityName(), response.get_name(), 'Invalid entity name object after creation') self.assertEqual(fieldResponse.get_batchIdentifier(), "batch", 'Invalid batchIdentifier after creation') timeResponse = fieldResponse.get_time() self.assertEqual(isinstance(timeResponse, Schemas.Time), True, 'Invalid time object after creation') self.assertEqual(timeResponse.get_zone(), time.get_zone(), 'Invalid zone object after creation') self.assertEqual(timeResponse.get_identifier(), time.get_identifier(), 'Invalid time identifier object after creation') self.assertEqual(timeResponse.get_format(), time.get_format(), 'Invalid time format object after creation') inputs = response.get_inputs() self.assertEqual(isinstance(inputs, list), True, 'Invalid inputs object after creation') self.assertEqual(len(inputs), 3, 'Invalid inputs object after creation') inputResp1 = inputs.__getitem__(0) inputResp2 = inputs.__getitem__(1) inputResp3 = inputs.__getitem__(2) self.assertEqual(inputResp1.get_name(), input1.get_name(), 'Invalid input after object creation') self.assertEqual(inputResp1.get_value_type(), input1.get_value_type(), 'Invalid input value type after object creation') self.assertEqual(inputResp2.get_name(), input2.get_name(), 'Invalid input after object creation') self.assertEqual(inputResp2.get_value_type(), input2.get_value_type(), 'Invalid input value type after object creation') self.assertEqual(inputResp3.get_name(), input3.get_name(), 'Invalid input after object creation') self.assertEqual(inputResp3.get_value_type(), input3.get_value_type(), 'Invalid input value type after object creation') except Exception as e: print(e.message) self.assertEqual(0, 1, 'Cannot create datastream')
def test_create_publication_of_mqtt_type(self): fclient = FClient(host=host, token=token) eventbuffer = Schemas.Eventbuffer() eventbuffer.set_name('Motor Health') eventbuffer.set_time_identifier('time') eventbuffer.set_time_format('iso_8601') try: eventbuffer = fclient.create_eventbuffer(eventbuffer) pipeline = Schemas.Pipeline() signals = { 'current': 'Numeric', 'vibration': 'Numeric', 'state': 'Categorical' } assessment = Schemas.Assessment() assessment.set_name('Health') \ .set_input_signals(['current', 'vibration', 'state']) pipeline.set_name('Motor Health 1') \ .set_eventbuffer(eventbuffer.get_id()) \ .set_input_signals(signals) \ .set_thing_name('Motor') \ .set_assessment(assessment) try: pipeline = fclient.create_pipeline(pipeline) try: publication = Schemas.Publication() \ .set_type('MQTT') \ .set_topic('falkonry-test-pipeline') \ .set_path('mqtt://test.mosquito.com') \ .set_username('test-user') \ .set_password('test-password') \ .set_content_type('application/json') response = fclient.create_publication( pipeline.get_id(), publication) self.assertEqual( isinstance(response, Schemas.Publication), True, 'Invalid Publication object after creation') self.assertEqual( isinstance(response.get_key(), unicode), True, 'Invalid Publication object after creation') self.assertEqual( response.get_type(), 'MQTT', 'Invalid Publication object after creation') self.assertEqual( response.get_topic(), 'falkonry-test-pipeline', 'Invalid Publication object after creation') self.assertEqual( response.get_username(), 'test-user', 'Invalid Publication object after creation') self.assertEqual( response.get_content_type(), 'application/json', 'Invalid Publication object after creation') except Exception as e: print(e.message) self.assertEqual(0, 1, 'Cannot create publication') # tear down try: fclient.delete_pipeline(pipeline.get_id()) fclient.delete_eventbuffer(eventbuffer.get_id()) except Exception as e: pass except Exception as e: print(e.message) self.assertEqual(0, 1, 'Cannot create pipeline') except Exception as e: print(e.message) self.assertEqual(0, 1, 'Cannot create eventbuffer')