def getMessagesFromDB(cls, numberToGet=0): #TODO Combine with getMessagesFromDBSearch """ Returns list of messages as instances of messageModel @param numberToGet Number of db records to return @return: msgList @rtype : list """ msgList = [] if numberToGet == 0: indexList = cls.searchRecords("") for index in indexList: index = str(index) index = index.strip('(),') msg = messageModel(index) msgList.append(msg) else: indexList = cls.getBottomIndexes(numberToGet) indexList.reverse() for index in indexList: index = str(index) index = index.strip('(),') msg = messageModel(index) msgList.append(msg) return msgList
class TestHTMLHelper(TestCase): def setUp(self): """Go-to project root so we can access the database""" os.chdir("..") os.chdir("forgeLandWall") x = models.messageModel() x.message(constants.messageStr + 'meow') x = models.messageModel() x.message(constants.messageStr + 'cats') print("TEST SETUP") def tearDown(self): """Delete test messages""" dbConn, dbcursor = dbConnManage.dbConnect() sqlStr = 'DELETE FROM messages WHERE "message" LIKE "%' + constants.messageStr + '%";' dbcursor.execute(sqlStr) dbConnManage.dbClose(dbConn) print("TEST TEARDOWN") def test_getMessages(self): output = [] output = HTMLHelper.getMessagesTable(output) print(output) self.assertEqual("<table><tr><th>Message</th><th>Timestamp</th><th>Index</th></tr>", output[0]) # self.assertEqual(constants.messageStr + 'meow', output[1],) # TODO Maybe search for specific record? (We already test for this though -_-)
def test_message(self): # Write dbObj = models.messageModel() dbObj.message(TestMessageModel.messageStr) # Search and read back indexList = webControl.searchRecords(TestMessageModel.messageStr) dbObj2 = models.messageModel(index=indexList[0]) dbMessageStr = dbObj2.message() self.assertEquals(dbMessageStr, TestMessageModel.messageStr)
def test_deleteRecord(self): # Create message dbObj1 = models.messageModel() dbObj1.message(TestMessageModel.messageStr) # Delete message indexList = webControl.searchRecords(TestMessageModel.messageStr) dbObj3 = models.messageModel(index=indexList[0]) dbObj3.deleteRecord() # Search for "missing" record dbObj = models.messageModel(index=indexList[0]) msgStr = dbObj.message() testStr = "CANNOT FIND MESSAGE @ INDEX" + str(indexList[0]) self.assertEquals(msgStr, testStr)
def test_searchForRecordsIndex(self): # ONLY TESTS FOR EMPTY LIST (we need a better test) # TODO Write a better test (see webControl TODO's) # Create message dbObj = models.messageModel() dbObj.message(constants.messageStr) # Search for index indexList = webControl.searchRecords(constants.messageStr) dbObj2 = models.messageModel(index=indexList[0]) testStr = dbObj2.message() self.assertEqual(constants.messageStr, testStr) indexList = webControl.searchRecords('headheadheadheadheadheadhead') self.assertFalse(indexList)
def test_missingRecordIndex(self): # Looks up message that should NEVER exist import random x = random.randint(1, 10) dbOjb1 = models.messageModel(x * -1) messageStr = dbOjb1.message() testStr = "CANNOT FIND MESSAGE @ INDEX" + str(x * -1) self.assertEqual(messageStr, testStr)
def getMessageAsJSONObject(cls, index): msgObj = messageModel(index=index) # Gets the message via index msgJSON = empty() msgJSON.message = msgObj.message() msgJSON.timestamp = msgObj.getTimestamp() msgJSON.index = msgObj.getIndex() return json.dumps(msgJSON, default=cls.getDict, sort_keys=True)
def test_searchForMessagesJSON(self): dbObj = models.messageModel() dbObj.message(constants.messageStr) rawJSON = webControl.searchForMessagesJSON(constants.messageStr) jsonObj = json.loads(rawJSON) jsonTest = jsonObj[0]['message'] self.assertEqual(constants.messageStr, jsonTest)
def test_doesRecordExist(self): searchFlag = False # Create testMsg = TestMessageModel.messageStr + "exist" dbObj = models.messageModel() dbObj.message(testMsg) # Search indexList = webControl.searchRecords(testMsg) # Compare self.assertTrue(models.messageModel.doesRecordExist(indexList[0]))
def getMessagesFromDBSearch(cls, search): """ Returns list of messages as instances of messageModel from search""" msgList = [] indexList = cls.searchRecords(search) for index in indexList: index = str(index) index = index.strip('(),') msg = messageModel(index) msgList.append(msg) return msgList
def deleteRecords(cls, index=None): x = messageModel(index=index) x.deleteRecord() pass
def updateRecords(cls, indexIn, messageIn=None): x = messageModel(index=indexIn) x.message(message=cls.cleanInput(messageIn)) return cls.searchRecords(cls.cleanInput(messageIn))
def createRecord(cls, messageIn=None): x = messageModel() x.message(message=cls.cleanInput(messageIn)) return cls.searchRecords(cls.cleanInput(messageIn))