public void LogGeneralUsageTest() { // Establish Context Stream stream = new MemoryStream(Encoding.Default.GetBytes(@"<?xml version=""1.0"" encoding=""us-ascii""?> <UsageCount xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema""> <MachineGUID>563173AD-8835-4138-B4B0-FF7C5BD8D163_Y</MachineGUID> <UserGUID>71536A57-C890-4FDB-9A31-5359116B0F4D_Z</UserGUID> <NoClicks>1</NoClicks> <NoScreenSaverSessions>1</NoScreenSaverSessions> <TotalPlayTime>94</TotalPlayTime> </UsageCount>")); ILog logForNet = MockRepository.GenerateMock <ILog>(); ClientDataLogger.SystemTime.Now = () => DateTime.Parse("2011-05-24 17:40:57"); logForNet.Expect(r => r.Info("2011-05-24 17:40:57|563173AD-8835-4138-B4B0-FF7C5BD8D163_Y|1|1|94")); //Act var clientDateLogger = new ClientDataLogger(); clientDateLogger.LogGeneralUsage(logForNet, stream); //Assert logForNet.VerifyAllExpectations(); }
private void LogDataFile(LogDataParameterMessage logDataParameterMessage) { var clientDataLogger = new ClientDataLogger(); switch (logDataParameterMessage.ChannelID) { case "-1": clientDataLogger.LogAdImpressionOrClickChannelProportion( logDataParameterMessage.FileName == "i_d_a.dat" ? _adImpressionsChannelProportionsLogger : _adClicksChannelProportionsLogger, logDataParameterMessage.MachineGUID, logDataParameterMessage.LogFileStream); break; case "-2": clientDataLogger.LogGeneralUsage(_generalUsageLogger, logDataParameterMessage.LogFileStream); TryLogLastImpressionToDB(logDataParameterMessage.MachineGUID); break; default: ILog log; if (logDataParameterMessage.FileName == "i_d_a.dat") { //We do not always receive these so log LastImpression when we recieve General Usage file instead //TryLogLastImpressionToDB(logDataParameterMessage.MachineGUID); log = _impressionsLogger; } else { TryLogLastClickToDB(logDataParameterMessage.MachineGUID); log = _clicksLogger; } clientDataLogger.LogImpressionsOrClicks(log, logDataParameterMessage.MachineGUID, logDataParameterMessage.ChannelID, logDataParameterMessage.LogFileStream); break; } }