class QsessionTest(unittest.TestCase): """docstring for QsessionTest""" def setUp(self): """docstring for setup""" log = open("./test.log", "w") self.session = Qsession(log) def test_writeFile(self): """docstring for test_writeFile""" self.session.filename = "session_test" msg = "QSESSION TEST" self.session.mail_content = msg self.session.writeFile() with open(self.session.filename) as stream: for line in stream.readlines(): self.assertEqual(line, msg, \ "file msg {0} should be equal with {1}".format(line, msg)) def test_is_addr_valid(self): """docstring for is_addr_valid""" filename = "invalid_mail_address" with open(filename, "r") as stream: for address in stream.readlines(): self.assertEqual(False, self.session.is_addr_valid(address)) filename = "valid_mail_address" with open(filename, "r") as stream: for address in stream.readlines(): self.assertEqual(True, self.session.is_addr_valid(address)) def test_checkFormal(self): """docstring for test_checkFormal""" filename = "valid_check_formal" # format: cmd session_value data expected_ret with open(filename, "r") as stream: for line in stream.readlines(): items = line.split(",") items = map(lambda x: x.strip(), items) cmd = items[0] if cmd == "0": self.session.mail_from = items[1] ret = self.session.checkFormal(items[2], int(cmd)) self.assertEqual(ret, bool(items[3])) elif cmd == "1": self.session.mail_to = items[1] ret = self.session.checkFormal(items[2], int(cmd)) self.assertEqual(ret, bool(items[3])) elif cmd == "2": ret = self.session.checkFormal(items[1], int(cmd)) self.assertEqual(ret, bool(items[2])) elif cmd == "3": ret = self.session.checkFormal(items[1], int(cmd)) self.assertEqual(ret, bool(items[2])) def test_feed(self): """docstring for test_feed""" infile = "test_feed_request" outfile = "test_feed_response" with open(infile, "r") as instream: with open(outfile, "r") as outstream: request = map(lambda x: x+"\r\n", instream.read().split("\r\n")) response = outstream.read().split("\n") for i in range(len(request)): ret = self.session.feed(request[i]) self.assertEqual(ret[0], response[i])