def testCreateEntryWithMultipleAttributes(self): client = OlogClient(url=getDefaultTestConfig('url'), username=getDefaultTestConfig('username'), password=getDefaultTestConfig('password')) text = 'test python log entry with multiple attributes ' + datetime.now().isoformat(' ') testImageAttachment = Attachment(open('Desert.jpg', 'rb')) testTextAttachment = Attachment(open('debug.log', 'rb')) logbooks = client.listLogbooks() tags = client.listTags() properties = client.listProperties() # for property in properties: # for attribute in property.getAttributeNames(): # property.Attributes[attribute] = 'testValue'+attribute testLog = LogEntry(text=text, owner='testOwner', logbooks=logbooks, tags=tags, # properties=properties, attachments=[testImageAttachment, testTextAttachment] ) client.log(testLog) logEntries = client.find(search=text) self.assertEqual(len(logEntries), 1, 'Failed to create log entry with multiple attributes') logEntry = logEntries[0] self.assertListEqual(logbooks, logEntry.getLogbooks(), 'Failed to create log entry with all the logbooks') self.assertListEqual(tags, logEntry.getTags(), 'Failed to create log entry with all the tags') # self.assertListEqual(properties, logEntry.getProperties(), 'Failed to create log Entry with all the properties') client.delete(logEntryId=logEntry.getId()) self.assertEqual(len(client.find(search=text)), 0, 'Failed to cleanup log entry with attachment')
def toOlogComment(comment): global client if (client == None): client = OlogClient(url, username, password) entry = LogEntry(text=comment, owner=owner, logbooks=[Logbook(logbook)]) client.log(entry)
def testCreateEntryWithAttachments(self): client = OlogClient(url=getDefaultTestConfig('url'), username=getDefaultTestConfig('username'), password=getDefaultTestConfig('password')) testLogbook = Logbook(name='testLogbook', owner='testOwner') client.createLogbook(testLogbook); text = 'test python log entry with attachments ' + datetime.now().isoformat(' ') testImageAttachment = Attachment(open('Desert.jpg', 'rb')) testTextAttachment = Attachment(open('debug.log', 'rb')) testLog = LogEntry(text=text, owner='testOwner', logbooks=[testLogbook], attachments=[testImageAttachment, testTextAttachment] ) client.log(testLog) logEntries = client.find(search=text) self.assertEqual(len(logEntries), 1, 'Failed to create log entry with attachment') attachments = client.listAttachments(logEntryId=logEntries[0].getId()) self.assertEqual(len(attachments), 2, 'Failed to create log entry with attachment'); for attachment in attachments: if attachment.getFile().name.endswith('.log'): print attachment.getFile().readline() print attachment.getFile().fileno(), open('debug.log', 'rb').fileno() client.delete(logEntryId=logEntries[0].getId()) self.assertEqual(len(client.find(search=text)), 0, 'Failed to cleanup log entry with attachment') client.delete(logbookName=testLogbook.getName()) self.assertTrue(testLogbook not in client.listLogbooks(), 'failed to cleanup the testLogbook') pass
def toOlog(imagePath, comment, omega_pv=None): global client if (client == None): client = OlogClient(url, username, password) att = Attachment(open(imagePath, "rb")) if (omega_pv == None): propOmega = Property(name='motorPosition', attributes={ 'id': 'XF:AMXFMX{MC-Goni}Omega.RBV', 'name': 'Omega', 'value': 'offline', 'unit': 'deg' }) else: propOmega = Property(name='motorPosition', attributes={ 'id': 'XF:AMXFMX{MC-Goni}Omega.RBV', 'name': 'Omega', 'value': str(omega_pv.get()), 'unit': 'deg' }) client.createProperty(propOmega) entry = LogEntry(text=comment, owner="HHS", logbooks=[Logbook("raster")], properties=[propOmega], attachments=[att]) client.log(entry)
def toOlogPicture(imagePath, comment): global client if (client == None): client = OlogClient(url, username, password) att = Attachment(open(imagePath, "rb")) entry = LogEntry(text=comment, owner=owner, logbooks=[Logbook(logbook)], attachments=[att]) client.log(entry)
def testCreateBasicEntry(self): client = OlogClient(url=getDefaultTestConfig('url'), username=getDefaultTestConfig('username'), password=getDefaultTestConfig('password')) testLogbook = Logbook(name='testLogbook', owner='testOwner') client.createLogbook(testLogbook) text = 'test python log entry ' + datetime.now().isoformat(' ') testLog = LogEntry(text=text, owner='testOwner', logbooks=[testLogbook]) client.log(logEntry=testLog) logEntries = client.find(search=testLog.getText()) self.assertTrue(len(logEntries) == 1, 'Failed to create test log entry') client.delete(logEntryId=logEntries[0].getId()) self.assertTrue(len(client.find(search=testLog.getText())) == 0, 'Failed to delete test log entry') client.delete(logbookName='testLogbook') self.assertTrue(testLogbook not in client.listLogbooks(), 'failed to cleanup the testLogbook') pass
def testCreateBasicEntry(self): client = OlogClient(url='https://localhost:8181/Olog', username='******', password='******') testLogbook = Logbook(name='testLogbook', owner='testOwner') client.createLogbook(testLogbook) text = 'test python log entry ' + datetime.now().isoformat(' ') testLog = LogEntry(text=text, owner='testOwner', logbooks=[testLogbook]) client.log(logEntry=testLog) logEntries = client.find(search=testLog.getText()) self.assertTrue(len(logEntries) == 1, 'Failed to create test log entry') client.delete(logEntryId=logEntries[0].getId()) self.assertTrue(len(client.find(search=testLog.getText())) == 0, 'Failed to delete test log entry') client.delete(logbookName='testLogbook') self.assertTrue(testLogbook not in client.listLogbooks(), 'failed to cleanup the testLogbook') pass
def testCreateEntryWithTag(self): client = OlogClient(url=getDefaultTestConfig('url'), username=getDefaultTestConfig('username'), password=getDefaultTestConfig('password')) testLogbook = Logbook(name='testLogbook', owner='testOwner') client.createLogbook(testLogbook); testTag = Tag(name='testTag') client.createTag(testTag) text = 'test python log entry with tag ' + datetime.now().isoformat(' ') testLog = LogEntry(text=text, owner='testOwner', logbooks=[testLogbook], tags=[testTag]) client.log(testLog) logEntries = client.find(search=testLog.getText()) self.assertTrue(len(logEntries) == 1, 'Failed to create log Entry with Tag') self.assertTrue(testTag in logEntries[0].getTags(), 'testTag not attached to the testLogEntry1') '''cleanup''' client.delete(logEntryId=logEntries[0].getId()) self.assertTrue(len(client.find(search=testLog.getText())) == 0, 'Failed to delete log Entry with Tag') client.delete(logbookName=testLogbook.getName()) self.assertTrue(testLogbook not in client.listLogbooks(), 'failed to cleanup the testLogbook') client.delete(tagName=testTag.getName()) self.assertTrue(testTag not in client.listTags(), 'failed to cleanup the testTag') pass
def testProcess(self): client = OlogClient(url='https://localhost:8181/Olog', username='******', password='******') property = Property(name='Process', attributes={'processType':'diffCalc', 'processId':'1234', 'processAttchments':'rawDataFile.txt'}) # load Data client.log(LogEntry(text='Initial setup', owner='experimenter', logbooks=[Logbook(name='Experimental Logbook')], properties=[property], attachments=[Attachment(open('rawDataFile.txt', 'rb'))] )) # run scan property = Property(name='Process', attributes={'processType':'diffCalc.process', 'processId':'1234', 'processAttchments':'.txt'}) client.log(LogEntry(text='Initial setup', owner='experimenter', logbooks=[Logbook(name='Experimental Logbook')], properties=[property] ))
def testProcess(self): client = OlogClient(url=getDefaultTestConfig('url'), username=getDefaultTestConfig('username'), password=getDefaultTestConfig('password')) property = Property(name='Process', attributes={'processType':'diffCalc', 'processId':'1234', 'processAttchments':'debug.log'}) client.createProperty(property) # load Data client.log(LogEntry(text='Initial setup', owner='experimenter', logbooks=[self.testLogbook], properties=[property], attachments=[Attachment(open('debug.log', 'rb'))] )) # run scan property = Property(name='Process', attributes={'processType':'diffCalc.process', 'processId':'1234', 'processAttchments':'.log'}) client.log(LogEntry(text='Initial setup', owner='experimenter', logbooks=[self.testLogbook], properties=[property] ))
def testCreateEntryWithProperties(self): client = OlogClient(url=getDefaultTestConfig('url'), username=getDefaultTestConfig('username'), password=getDefaultTestConfig('password')) testLogbook = Logbook(name='testLogbook', owner='testOwner') client.createLogbook(testLogbook); testProperty = Property(name='testLogProperty', attributes={'id':None, 'url':None}) # client.createProperty(testProperty) text = 'test python log entry with attachment ' + datetime.now().isoformat(' ') property = Property(name='testLogProperty', attributes={'id':'prop1234', 'url':'www.bnl.gov'}) testLog = LogEntry(text=text, owner='testOwner', logbooks=[testLogbook], properties=[property] ) client.log(testLog) logEntries = client.find(search=text) self.assertEqual(len(logEntries), 1, 'Failed to create log entry with property') properties = logEntries[0].getProperties() self.assertIn(property, properties, 'TestLogEntry does not contain property ' + property.getName()) '''Cleanup''' client.delete(logEntryId=logEntries[0].getId()) self.assertEqual(len(client.find(search=text)), 0, 'Failed to cleanup log entry with property') client.delete(logbookName=testLogbook.getName()) self.assertTrue(testLogbook not in client.listLogbooks(), 'failed to cleanup the ' + testLogbook.getName()) pass