def testConfiguration(self): channel = 'masarService' self.mc = masarClient.client(channelname=channel) # DB SETUP self.conn, collection = utils.conn( host=masarconfig.get('mongodb', 'host'), port=masarconfig.get('mongodb', 'port'), db=masarconfig.get('mongodb', 'database')) self.conn.drop_database(masarconfig.get('mongodb', 'database')) name = "SR_All_20140421" test_status = 'active' test_version = 20140421 test_system = 'SR' test_desc = "SR daily SCR setpoint without IS kick and septum: SR and RF" params = { "desc": test_desc, "system": test_system, "status": test_status, "version": test_version, } newid = saveconfig(self.conn, collection, name, **params) self.assertNotEqual(None, newid) res0 = retrieveconfig(self.conn, collection, name) self.assertEqual(test_status, res0[0]['status']) self.assertEqual(1, res0[0]['configidx']) self.assertEqual(name, res0[0]['name']) self.assertEqual(test_system, res0[0]['system']) self.assertNotEqual(None, res0[0]['created_on']) # The following 2 tests are to confirm the date string is in the correct format self.assertEqual(3, len(res0[0]['created_on'].split('-'))) self.assertEqual(3, len(res0[0]['created_on'].split(':'))) self.assertEqual(test_version, res0[0]['version']) self.assertEqual(test_desc, res0[0]['desc']) pvs = ["masarExampleDoubleArray"] pvlist = {"names": pvs} res = updateconfig(self.conn, collection, name, pvlist=pvlist) self.assertEqual(True, res) res3 = retrieveconfig(self.conn, collection, name, withpvs=True) self.assertEqual(test_status, res3[0]['status']) self.assertEqual(1, res3[0]['configidx']) self.assertEqual(name, res3[0]['name']) self.assertEqual(test_system, res3[0]['system']) self.assertNotEqual(None, res3[0]['created_on']) # The following 2 tests are to confirm the date string is in the correct format self.assertEqual(3, len(res3[0]['created_on'].split('-'))) self.assertEqual(3, len(res3[0]['created_on'].split(':'))) self.assertEqual(test_version, res3[0]['version']) self.assertEqual(test_desc, res3[0]['desc']) self.assertEqual(pvlist, res3[0]['pvlist']) self.assertNotEqual(None, res3[0]['updated_on']) # The following 2 tests are to confirm the date string is in the correct format self.assertEqual(3, len(res3[0]['updated_on'].split('-'))) self.assertEqual(3, len(res3[0]['updated_on'].split(':'))) # drop DB self.conn.drop_database(masarconfig.get('mongodb', 'database')) utils.close(self.conn)
def testConfiguration(self): channel = 'masarService' self.mc = masarClient.client(channelname=channel) # DB SETUP self.conn, collection = utils.conn(host=masarconfig.get('mongodb', 'host'), port=masarconfig.get('mongodb', 'port'), db=masarconfig.get('mongodb', 'database')) self.conn.drop_database(masarconfig.get('mongodb', 'database')) name = "SR_All_20140421" test_status = 'active' test_version = 20140421 test_system = 'SR' test_desc = "SR daily SCR setpoint without IS kick and septum: SR and RF" params = {"desc": test_desc, "system": test_system, "status": test_status, "version": test_version, } newid = saveconfig(self.conn, collection, name, **params) self.assertNotEqual(None, newid) res0 = retrieveconfig(self.conn, collection, name) self.assertEqual(test_status, res0[0]['status']) self.assertEqual(1, res0[0]['configidx']) self.assertEqual(name, res0[0]['name']) self.assertEqual(test_system, res0[0]['system']) self.assertNotEqual(None, res0[0]['created_on']) # The following 2 tests are to confirm the date string is in the correct format self.assertEqual(3, len(res0[0]['created_on'].split('-'))) self.assertEqual(3, len(res0[0]['created_on'].split(':'))) self.assertEqual(test_version, res0[0]['version']) self.assertEqual(test_desc, res0[0]['desc']) pvs = ["masarExampleDoubleArray"] pvlist = {"names": pvs} res = updateconfig(self.conn, collection, name, pvlist=pvlist) self.assertEqual(True, res) res3 = retrieveconfig(self.conn, collection, name, withpvs=True) self.assertEqual(test_status, res3[0]['status']) self.assertEqual(1, res3[0]['configidx']) self.assertEqual(name, res3[0]['name']) self.assertEqual(test_system, res3[0]['system']) self.assertNotEqual(None, res3[0]['created_on']) # The following 2 tests are to confirm the date string is in the correct format self.assertEqual(3, len(res3[0]['created_on'].split('-'))) self.assertEqual(3, len(res3[0]['created_on'].split(':'))) self.assertEqual(test_version, res3[0]['version']) self.assertEqual(test_desc, res3[0]['desc']) self.assertEqual(pvlist, res3[0]['pvlist']) self.assertNotEqual(None,res3[0]['updated_on']) # The following 2 tests are to confirm the date string is in the correct format self.assertEqual(3, len(res3[0]['updated_on'].split('-'))) self.assertEqual(3, len(res3[0]['updated_on'].split(':'))) # drop DB self.conn.drop_database(masarconfig.get('mongodb', 'database')) utils.close(self.conn)
def __init__(self, channelname='masarService', parent=None): super(masarUI, self).__init__(parent) self.setupUi(self) self.__setDateTime() self.tabWindowDict = {'comment': self.commentTab} self.e2cDict = {} # event to config dictionary self.pv4cDict = {} # pv name list for each selected configuration self.data4eid = {} self.arrayData = {} # store all array data self.__service = 'masar' self.mc = masarClient.client(channelname) self.__initSystemBomboBox() self.currentConfigFilter = str(self.configFilterLineEdit.text()) self.eventConfigFilter = str(self.eventFilterLineEdit.text()) self.authorText = str(self.authorTextEdit.text()) self.UTC_OFFSET_TIMEDELTA = datetime.datetime.utcnow() - datetime.datetime.now() self.time_format = "%Y-%m-%d %H:%M:%S" self.previewId = None self.previewConfName = None self.isPreviewSaved = True # set bad pv row to grey self.brushbadpv = QBrush(QColor(128, 128, 128)) self.brushbadpv.setStyle(Qt.SolidPattern) # DBR_TYPE definition #define DBF_STRING 0 #define DBF_INT 1 #define DBF_SHORT 1 #define DBF_FLOAT 2 #define DBF_ENUM 3 #define DBF_CHAR 4 #define DBF_LONG 5 #define DBF_DOUBLE 6 self.epicsLong = [1, 4, 5] self.epicsString = [0, 3] self.epicsDouble = [2, 6] self.epicsNoAccess = [7]
def setUp(self): channel = 'sqliteMasarTestService' self.mc = masarClient.client(channelname=channel) SQLITE_DB_TEST_SETUP()
return result def getLiveMachine(mc, pvlist): params = {} # get a live machine with given pv list print '==== get live machine ====' for pv in pvlist: params[pv] = pv result = mc.getLiveMachine(params) return result if __name__ == "__main__": channel = 'masarService' mc = masarClient.client(channelname=channel) res1 = saveMasarSnapshot(mc) print res1 print "event id:", res1[0] print "value:", res1[2] res2 = retrieveMasarSnapshot(mc, res1[0]) #res2 = retrieveMasarSnapshot(mc, 17) print "name:", res2[0][-10:] print "value:", res2[1][-10:] pvlist = [ "masarExampleCharArray", "masarExampleFloatArray", "masarExampleShortArray", "masarExampleUCharArray" ]
def setUp(self): channel = 'mongoMasarTestService' self.mc = masarClient.client(channelname=channel) # DB SETUP self.conn = MONGODB_TEST_SETUP(self)
return result def getLiveMachine(mc, pvlist): params = {} # get a live machine with given pv list print '==== get live machine ====' for pv in pvlist: params[pv] = pv result = mc.getLiveMachine(params) return result if __name__ == "__main__": channel = 'masarService' mc = masarClient.client(channelname=channel) res1 = saveMasarSnapshot(mc) print res1 print "event id:", res1[0] print "value:", res1[2] res2 = retrieveMasarSnapshot(mc, res1[0]) #res2 = retrieveMasarSnapshot(mc, 17) print "name:", res2[0][-10:] print "value:", res2[1][-10:] pvlist = ["masarExampleCharArray", "masarExampleFloatArray", "masarExampleShortArray", "masarExampleUCharArray"]
def testConfiguration(self): channel = 'masarService' self.mc = masarClient.client(channelname=channel) # DB SETUP __sqlitedb__ = os.environ["MASAR_SQLITE_DB"] try: conn = sqlite3.connect(__sqlitedb__) cur = conn.cursor() __sql__ = None if __sql__ is None: from pymasarsqlite.db.masarsqlite import SQL else: sqlfile = open(__sql__) SQL = sqlfile.read() if SQL is None: print('SQLite script is empty. Cannot create SQLite db.') sys.exit() else: cur.executescript(SQL) cur.execute("PRAGMA main.page_size= 4096;") cur.execute("PRAGMA main.default_cache_size= 10000;") cur.execute("PRAGMA main.locking_mode=EXCLUSIVE;") cur.execute("PRAGMA main.synchronous=NORMAL;") cur.execute("PRAGMA main.journal_mode=WAL;") cur.execute("PRAGMA main.temp_store = MEMORY;") cur.execute('select name from sqlite_master where type=\'table\'') masarconf = 'SR_All_20140421' servicename = 'masar' pvgname = 'masarpvgroup' pvgdesc = 'this is my new pv group for masar service with same group name' pvs = ["masarExampleDoubleArray"] res = savePvGroup(conn, pvgname, func=pvgdesc) self.assertEqual([1], res) res2 = saveGroupPvs(conn, pvgname, pvs) with self.assertRaises(Exception) as context: saveGroupPvs(conn, "badname", pvs) self.assertEqual( context.exception.message, 'pv group name (badname) is not unique, or not exist.') self.assertEqual([1], res2) pvgroups = retrievePvGroups(conn) self.assertEqual(5, len(pvgroups[0])) self.assertEqual(1, pvgroups[0][0]) self.assertEqual(pvgname, pvgroups[0][1]) self.assertEqual(pvgdesc, pvgroups[0][2]) self.assertNotEqual(None, pvgroups[0][3]) # The following 2 tests are to confirm the date string is in the correct format self.assertEqual(3, len(pvgroups[0][3].split('-'))) self.assertEqual(3, len(pvgroups[0][3].split(':'))) self.assertEqual(None, pvgroups[0][4]) test_desc = 'test desc' test_system = 'SR' test_status = 'active' test_version = 20140420 saveService(conn, servicename, desc=test_desc) with self.assertRaises(Exception) as context: saveServiceConfig(conn, "bad servicename", masarconf, system=test_system, status=test_status, configversion=test_version, configdesc=test_desc) self.assertEqual( "service with given name (bad servicename) does not exist.", context.exception.message) with self.assertRaises(Exception) as context: saveServiceConfig(conn, servicename, masarconf, system=test_system, status="bad status", configversion=test_version, configdesc=test_desc) self.assertEqual( "Service status has to be either active, or inactive", context.exception.message) saveServiceConfig(conn, servicename, masarconf, system=test_system, status=test_status, configversion=test_version, configdesc=test_desc) with self.assertRaises(Exception) as context: saveServiceConfig(conn, servicename, masarconf, system=test_system, status=test_status, configversion=test_version, configdesc=test_desc) self.assertEqual('service config exists already.', context.exception.message) with self.assertRaises( IndexError ): # TODO: Should this be a more specific error message? saveServicePvGroup(conn, "bad config", [pvgname]) with self.assertRaises(Exception) as context: res3 = saveServicePvGroup( conn, masarconf, ["bad pvgname"]) # this test prints a message to console self.assertEqual( "given pv group name (bad pvgname) does not exist.", context.exception.message) res3 = saveServicePvGroup(conn, masarconf, [pvgname]) self.assertEqual([1], res3) with self.assertRaises(Exception) as context: pvlist = retrieveServiceConfigPVs( conn, masarconf, servicename="bad servicename") pvlist = retrieveServiceConfigPVs(conn, masarconf, servicename=servicename) self.assertEqual( context.exception.message, 'Given service (bad servicename) does not exist.') self.assertEqual(pvs, pvlist) self.expected_column_names = ('config_idx', 'config_name', 'config_desc', 'config_create_date', 'config_version', 'status') results = retrieveServiceConfigs(conn, "bad servicename", masarconf) self.assertSequenceEqual(self.expected_column_names, results[0]) self.assertEqual(1, len(results)) # IE: no data returned self.assertEqual(len(self.expected_column_names), len(results[0])) results = retrieveServiceConfigs(conn, servicename, "bad conf") self.assertSequenceEqual(self.expected_column_names, results[0]) self.assertEqual(1, len(results)) # IE: no data returned self.assertEqual(len(self.expected_column_names), len(results[0])) results = retrieveServiceConfigs(conn, servicename, masarconf) # Label tests self.assertSequenceEqual(self.expected_column_names, results[0]) self.assertEqual(2, len(results)) self.assertEqual(len(self.expected_column_names), len(results[0])) # Data tests self.assertEqual(masarconf, results[1][1]) self.assertEqual(test_desc, results[1][2]) self.assertNotEqual(None, results[1][3]) self.assertEqual(1, results[1][0]) self.assertEqual(len(self.expected_column_names), len(results[1])) # The following 2 tests are to confirm the date string is in the correct format self.assertEqual(3, len(results[1][3].split('-'))) self.assertEqual(3, len(results[1][3].split(':'))) self.assertEqual(test_version, results[1][4]) self.assertEqual(test_status, results[1][5]) conn.commit() conn.close() except sqlite3.Error, e: print("Error %s:" % e.args[0]) raise