def Write(self, log): # Only run if the response times is greater than 0 if len(self.TimerList) > 0: # Locks the writer if other tests are using it lock(writerLocker) try: # If filename doesn't exist, we haven't created the file yet if self.FileName is None: self.FileName = "PerformanceTimerResults" + "-" + self.TestName + "-" + DateTime.UtcNow.ToString( "O").Replace(':', '-') + ".xml" log.LogMessage( MessageType.INFORMATION, "filename: " + LoggingConfig.get_log_directory() + "\\" + self.FileName) settings = XmlWriterSettings() settings.WriteEndDocumentOnClose = True settings.Indent = True writer = XmlWriter.Create( string.Format("{0}\\{1}", LoggingConfig.get_log_directory(), self.FileName), settings) x = XmlSerializer(self.GetType()) x.Serialize(writer, self) writer.Flush() writer.Close() except Exception as e: log.LogMessage( MessageType.ERROR, "Could not save response time file. Error was: {}", e)
def test_SoftAssertIsFalseTest(): soft_assert = SoftAssert( FileLogger(LoggingConfig.get_log_directory(), "UnitTests.SoftAssertUnitTests.SoftAssertIsFalseTest", MessageType.GENERIC.value, True)) soft_assert.assertFalse(2 == 1, "Test") soft_assert.fail_test_if_assert_failed()
def test_SoftAssertValidTest(): soft_assert = SoftAssert( FileLogger(LoggingConfig.get_log_directory(), "UnitTests.SoftAssertUnitTests.SoftAssertValidTest")) soft_assert.assertEquals("Yes", "Yes", "Utilities Soft Assert", "Message is not equal") soft_assert.assertEquals("YesAgain", "YesAgain", "Utilities Soft Assert 2") soft_assert.fail_test_if_assert_failed()
def test_SoftAssertFailTest(self): with self.assertRaises(AttributeError): soft_assert = SoftAssert( FileLogger(LoggingConfig.get_log_directory(), "UnitTests.SoftAssertUnitTests.SoftAssertFailTest")) soft_assert.assertEquals("Yes", "No", "Utilities Soft Assert", "Message is not equal") soft_assert.assertEquals("Yes", "NoAgain", "Utilities Soft Assert 2") soft_assert.fail_test_if_assert_failed()
def test_SoftAssertIsTrueTestFailure(self): with self.assertRaises(AttributeError): soft_assert = SoftAssert( FileLogger(LoggingConfig.get_log_directory(), "UnitTests.SoftAssertUnitTests.SoftAssertFailTest", MessageType.GENERIC.name, True)) soft_assert.assertTrue(1 == 2, "Test") soft_assert.assertTrue(1 == 2, "Test1") soft_assert.assertTrue(True, "Test2") soft_assert.fail_test_if_assert_failed()
def test_SoftAssertDidFailCheck(self): soft_assert = SoftAssert( FileLogger(LoggingConfig.get_log_directory(), "UnitTests.SoftAssertUnitTests.SoftAssertIsTrueTest", MessageType.GENERIC.name, True)) soft_assert.assertTrue(True, "Test1") self.assertFalse(soft_assert.did_soft_asserts_fail()) soft_assert.assertTrue(1 == 2, "Test2") self.assertTrue(soft_assert.did_soft_asserts_fail())
def test_FileLoggerAppendLogFolder(self): append_file_directory_path = LoggingConfig.get_log_directory( ) + "/" + "Append File Directory" html_logger = HtmlFileLogger(append_file_directory_path, True) self.assertEquals(append_file_directory_path, html_logger.get_directory(), "Expected Directory 'Append File Directory'.") self.assertEquals("FileLog.html", html_logger.get_file_name(), "Expected correct File Name.") self.assertEquals(MessageType.INFORMATION.name, html_logger.get_message_type(), "Expected Information Message Type.")
def test_FileLoggerLogFolderMessagingLevel(self): log_folder_messaging_level_directory_path = LoggingConfig.get_log_directory() + "/" \ + "Log Folder Messaging Level Directory" html_logger = HtmlFileLogger(log_folder_messaging_level_directory_path, False, MessageType.WARNING) self.assertEquals( log_folder_messaging_level_directory_path, html_logger.get_directory(), "Expected Directory 'Log Folder Messaging Level Directory'.") self.assertEquals("FileLog.html", html_logger.get_file_name(), "Expected correct File Name.") self.assertEquals(MessageType.WARNING.name, html_logger.get_message_type(), "Expected Warning Message Type.")
def test_FileLoggerLogFolderFileName(self): log_folder_file_name_directory = LoggingConfig.get_log_directory( ) + "/" + "Log Folder File Name Directory" html_logger = HtmlFileLogger(log_folder_file_name_directory, "LogFolderFileName.html") self.assertEquals( log_folder_file_name_directory, html_logger.get_directory(), "Expected Directory 'Log Folder File Name Directory'.") self.assertEquals("LogFolderFileName.html", html_logger.get_file_name(), "Expected correct File Name.") self.assertEquals(MessageType.INFORMATION.name, html_logger.get_message_type(), "Expected Information Message Type.")
def test_SoftAssertVerifyCheckForFailures(self): soft_assert = SoftAssert( FileLogger( LoggingConfig.get_log_directory(), "UnitTests.SoftAssertUnitTests.SoftAssertVerifyCheckForFailures" )) soft_assert.assertEquals("Yes", "Yes", "Utilities Soft Assert", "Message is not equal") soft_assert.fail_test_if_assert_failed() self.assertTrue(soft_assert.did_user_check()) soft_assert.assertEquals("Yes", "Yes", "Utilities Soft Assert", "Message is not equal") self.assertFalse(soft_assert.did_user_check())
def test_FileLoggerAppendLogFolderMessagingLevel(self): append_log_folder_file_name_directory = LoggingConfig.get_log_directory() + "\\" \ + "AppendLogFolderFileNameDirectory " html_logger = HtmlFileLogger(append_log_folder_file_name_directory, True, MessageType.WARNING) self.assertEquals( append_log_folder_file_name_directory, html_logger.get_directory(), "Expected Directory AppendLogFolderFileNameDirectory") self.assertEquals("FileLog.html", html_logger.get_file_name(), "Expected correct File Name.") self.assertEquals(MessageType.WARNING.name, html_logger.get_message_type(), "Expected Warning Message Type.") file_path = html_logger.get_file_path( ) + "\\" + html_logger.get_file_name() self.assertFalse(path.exists(file_path))
def test_FileLoggerLogFolderFileNameMessagingLevel(self): log_folder_file_name_messaging_level_directory_path = LoggingConfig.get_log_directory() \ + "/" + "LogFolderFileNameMessagingLevelDirectory" html_logger = HtmlFileLogger( log_folder_file_name_messaging_level_directory_path, "LogFolderFileNameMessagingLevel.html", MessageType.WARNING) self.assertEquals( log_folder_file_name_messaging_level_directory_path, html_logger.get_directory(), "Expected Directory 'LogFolderFileNameMessagingLevelDirectory'") self.assertEquals("LogFolderFileNameMessagingLevel.html", html_logger.get_file_name(), "Expected correct File Name.") self.assertEquals(MessageType.WARNING, html_logger.get_message_type(), "Expected Warning Message Type.") file_path = html_logger.get_file_path( ) + "\\" + html_logger.get_file_name() self.assertTrue(path.exists(file_path))
def test_SoftAssertFailsValidTest(self): soft_assert = SoftAssert( FileLogger( LoggingConfig.get_log_directory(), "UnitTests.SoftAssertUnitTests.SoftAssertFailsValidTest")) soft_assert.fails( lambda x: self.MethodThrowsNoneException(), TypeError, "Assert Method Throws Explicit Exception", "Failed to assert that method threw a NullReferenceException") result = 9 / 0 soft_assert.fails( self.fail( f"Result should have thrown an error but is {result} instead"), # soft_assert.assertFails(lambda x: (result = 9 / 0) self.fail(f"Result should have thrown # an error but is {result} instead"), ZeroDivisionError, "Assert action throws divide by zero exception", "Failed to assert that we couldn't divide by zero") soft_assert.fail_test_if_assert_failed()
def test_SoftAssertFailsInvalidTest(self): with self.assertRaises(AttributeError): soft_assert = SoftAssert( FileLogger( LoggingConfig.get_log_directory(), "UnitTests.SoftAssertUnitTests.SoftAssertFailsInvalidTest") ) soft_assert.fails( lambda x: self.MethodThrowsNoneException(), NotImplementedError, "Assert Method Throws Explicit Exception", "Failed to assert that method threw a NotImplementedException") result = 9 / 0 soft_assert.fails( self.fail( f"Result should have thrown an error but is {result} instead" ), # soft_assert.assertFails(lambda x: (result = 9 / 0) self.fail(f"Result should have # thrown an error but is {result} instead"), TypeError, "Assert dividing by zero throws a null reference", "Failed to assert that we couldn't divide by zero") soft_assert.fail_test_if_assert_failed()
def test_SoftAssertVerifyUserCheck(self): soft_assert = SoftAssert( FileLogger( LoggingConfig.get_log_directory(), "UnitTests.SoftAssertUnitTests.SoftAssertVerifyUserCheck")) self.assertTrue(soft_assert.did_user_check())