Example #1
0
        public void LogAdImpressionOrClickChannelProportionTest()
        {
            // Establish Context
            Stream stream = new MemoryStream(Encoding.Default.GetBytes(
                                                 @"1103|1000|0.7692307
          1103|1001|3.076923
          1103|1002|3.846154
          1103|1003|1.538461
          1103|1004|0.7692307"));

            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|PCGUID|1103|1000|0.7692307"));
            logForNet.Expect(r => r.Info("2011-05-24 17:40:57|PCGUID|1103|1001|3.076923"));
            logForNet.Expect(r => r.Info("2011-05-24 17:40:57|PCGUID|1103|1002|3.846154"));
            logForNet.Expect(r => r.Info("2011-05-24 17:40:57|PCGUID|1103|1004|0.7692307"));

            //Act
            var clientDateLogger = new ClientDataLogger();

            clientDateLogger.LogAdImpressionOrClickChannelProportion(logForNet, "PCGUID", stream);

            //Assert
            logForNet.VerifyAllExpectations();
        }
Example #2
0
        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;
            }
        }