Пример #1
0
        public void AddMultipleOperatingSystemsNullOSVersionNullName()
        {
            StackHashProductOperatingSystemSummaryCollection allOperatingSystems = new StackHashProductOperatingSystemSummaryCollection()
            {
                new StackHashProductOperatingSystemSummary(null, null, 20)
            };

            addMultipleOperatingSystems(allOperatingSystems);
        }
Пример #2
0
        public void AddMultipleOperatingSystemsOneOs()
        {
            StackHashProductOperatingSystemSummaryCollection allOperatingSystems = new StackHashProductOperatingSystemSummaryCollection()
            {
                new StackHashProductOperatingSystemSummary("Vista", "1.2.3.4", 20)
            };

            addMultipleOperatingSystems(allOperatingSystems);
        }
Пример #3
0
        public void AddMultipleOperatingSystemsNullvariants()
        {
            StackHashProductOperatingSystemSummaryCollection allOperatingSystems = new StackHashProductOperatingSystemSummaryCollection()
            {
                new StackHashProductOperatingSystemSummary(null, null, 10),
                new StackHashProductOperatingSystemSummary("Vista", null, 20),
                new StackHashProductOperatingSystemSummary(null, "1.2.3.4", 30),
                new StackHashProductOperatingSystemSummary("Vista", "1.2.3.4", 40)
            };

            addMultipleOperatingSystems(allOperatingSystems);
        }
Пример #4
0
        /// <summary>
        /// Checks for OS name and version nulls.
        /// </summary>
        public void addMultipleOperatingSystems(StackHashProductOperatingSystemSummaryCollection operatingSystemsToAdd)
        {
            // Create a clean index.
            m_Index = new SqlErrorIndex(StackHashSqlConfiguration.Default, SqlUtils.UnitTestDatabase, m_RootCabFolder);
            m_Index.DeleteIndex();
            m_Index.Activate();

            int productId = 1234;

            StackHashProductOperatingSystemSummaryCollection allOSSummaries = new StackHashProductOperatingSystemSummaryCollection();

            foreach (StackHashProductOperatingSystemSummary operatingSystem in operatingSystemsToAdd)
            {
                m_Index.AddOperatingSystem(operatingSystem.OperatingSystemName, operatingSystem.OperatingSystemVersion);
                short osId = m_Index.GetOperatingSystemId(operatingSystem.OperatingSystemName, operatingSystem.OperatingSystemVersion);
                m_Index.AddOperatingSystemSummary(productId, osId, operatingSystem.TotalHits, false);

                // Check the OS exists now.
                Assert.AreEqual(true, m_Index.OperatingSystemSummaryExists(productId, operatingSystem.OperatingSystemName, operatingSystem.OperatingSystemVersion));

                // Get the specific OS and make sure it was stored properly.
                StackHashProductOperatingSystemSummary summary = m_Index.GetOperatingSystemSummaryForProduct(productId, operatingSystem.OperatingSystemName, operatingSystem.OperatingSystemVersion);
                Assert.AreEqual(operatingSystem.OperatingSystemName, summary.OperatingSystemName);
                Assert.AreEqual(operatingSystem.OperatingSystemVersion, summary.OperatingSystemVersion);
            }


            StackHashProductOperatingSystemSummaryCollection osSummaryCollection = m_Index.GetOperatingSystemSummaries(productId);

            Assert.AreEqual(operatingSystemsToAdd.Count, osSummaryCollection.Count);

            foreach (StackHashProductOperatingSystemSummary os in osSummaryCollection)
            {
                StackHashProductOperatingSystemSummary expectedSummary = operatingSystemsToAdd.FindOperatingSystem(os.OperatingSystemName, os.OperatingSystemVersion);
                Assert.AreEqual(0, expectedSummary.CompareTo(os));
            }

            // Now update the statistics again using the same values.
            m_Index.UpdateOperatingSystemStatistics(productId, operatingSystemsToAdd, false);

            osSummaryCollection = m_Index.GetOperatingSystemSummaries(productId);
            Assert.AreEqual(operatingSystemsToAdd.Count, osSummaryCollection.Count);

            foreach (StackHashProductOperatingSystemSummary os in osSummaryCollection)
            {
                StackHashProductOperatingSystemSummary expectedSummary = operatingSystemsToAdd.FindOperatingSystem(os.OperatingSystemName, os.OperatingSystemVersion);
                expectedSummary.TotalHits *= 2;
                Assert.AreEqual(0, expectedSummary.CompareTo(os));
            }

            // Now update the statistics again using the same values.
            m_Index.UpdateOperatingSystemStatistics(productId, operatingSystemsToAdd, false);
        }
Пример #5
0
        //
        // You can use the following additional attributes as you write your tests:
        //
        // Use ClassInitialize to run code before running the first test in the class
        // [ClassInitialize()]
        // public static void MyClassInitialize(TestContext testContext) { }
        //
        // Use ClassCleanup to run code after all tests in a class have run
        // [ClassCleanup()]
        // public static void MyClassCleanup() { }
        //
        // Use TestInitialize to run code before running each test
        // [TestInitialize()]
        // public void MyTestInitialize() { }
        //
        // Use TestCleanup to run code after each test has run
        // [TestCleanup()]
        // public void MyTestCleanup() { }
        //
        #endregion

        /// <summary>
        /// Adds the rollup of OperatingSystems.
        /// </summary>
        public void addOperatingSystemSummaries(int numOperatingSystemSummaries)
        {
            // Create a clean index.
            m_Index = new SqlErrorIndex(StackHashSqlConfiguration.Default, SqlUtils.UnitTestDatabase, m_RootCabFolder);
            m_Index.DeleteIndex();
            m_Index.Activate();

            String operatingSystemNameBase    = "Microsoft Windows Vista";
            String operatingSystemVersionBase = "6.0.0.1212.0";
            int    productId = 1234;

            // Check an OperatingSystem that doesn't exist.
            Assert.AreEqual(false, m_Index.OperatingSystemSummaryExists(productId, operatingSystemNameBase, operatingSystemVersionBase));

            StackHashProductOperatingSystemSummaryCollection allOperatingSystemSummaries = new StackHashProductOperatingSystemSummaryCollection();

            for (int operatingSystemCount = 0; operatingSystemCount < numOperatingSystemSummaries; operatingSystemCount++)
            {
                String operatingSystemName    = operatingSystemNameBase + operatingSystemCount.ToString();
                String operatingSystemVersion = operatingSystemVersionBase + operatingSystemCount.ToString();

                int totalHits = operatingSystemCount + 1;
                m_Index.AddOperatingSystem(operatingSystemName, operatingSystemVersion);
                short operatingSystemId = m_Index.GetOperatingSystemId(operatingSystemName, operatingSystemVersion);

                m_Index.AddOperatingSystemSummary(productId, operatingSystemId, totalHits, false);

                // Check the OperatingSystem exists now.
                Assert.AreEqual(true, m_Index.OperatingSystemSummaryExists(productId, operatingSystemName, operatingSystemVersion));

                // Get the specific OperatingSystem and make sure it was stored properly.
                StackHashProductOperatingSystemSummary summary = m_Index.GetOperatingSystemSummaryForProduct(productId, operatingSystemName, operatingSystemVersion);
                Assert.AreEqual(operatingSystemName, summary.OperatingSystemName);
                Assert.AreEqual(operatingSystemVersion, summary.OperatingSystemVersion);
                Assert.AreEqual(totalHits, summary.TotalHits);

                allOperatingSystemSummaries.Add(summary);
            }

            StackHashProductOperatingSystemSummaryCollection operatingSystemSummaryCollection = m_Index.GetOperatingSystemSummaries(productId);

            Assert.AreEqual(numOperatingSystemSummaries, operatingSystemSummaryCollection.Count);

            foreach (StackHashProductOperatingSystemSummary operatingSystemData in operatingSystemSummaryCollection)
            {
                // Find the matching OperatingSystem in the expected list.
                StackHashProductOperatingSystemSummary expectedSummary =
                    allOperatingSystemSummaries.FindOperatingSystem(operatingSystemData.OperatingSystemName, operatingSystemData.OperatingSystemVersion);

                Assert.AreNotEqual(null, expectedSummary);
                Assert.AreEqual(0, expectedSummary.CompareTo(operatingSystemData));
            }
        }
Пример #6
0
        public void UpdateHitSummaries(StackHashProductHitDateSummaryCollection hitDateSummary,
                                       StackHashProductLocaleSummaryCollection localeSummary,
                                       StackHashProductOperatingSystemSummaryCollection osSummary)
        {
            if (hitDateSummary != _hitDateSummary)
            {
                _hitDateSummary = hitDateSummary;
                RaisePropertyChanged("HitDateSummary");
            }

            if (localeSummary != _localeSummary)
            {
                _localeSummary = localeSummary;
                RaisePropertyChanged("LocaleSummary");
            }

            if (osSummary != _osSummary)
            {
                _osSummary = osSummary;
                RaisePropertyChanged("OsSummary");
            }
        }
Пример #7
0
        /// <summary>
        /// Gets the rollup of operating systems.
        /// </summary>
        public void getOperatingSystemRollup(int numEventInfos, int osIdModulo)
        {
            m_Index = new SqlErrorIndex(StackHashSqlConfiguration.Default, SqlUtils.UnitTestDatabase, m_RootCabFolder);
            m_Index.DeleteIndex();

            m_Index.Activate();

            DateTime         creationDateTime = new DateTime(2010, 04, 04, 22, 9, 0, DateTimeKind.Utc);
            DateTime         modifiedDateTime = new DateTime(2010, 05, 05, 23, 10, 0, DateTimeKind.Utc);
            StackHashProduct product1         =
                new StackHashProduct(creationDateTime, modifiedDateTime, null, 1, "TestProduct1", 20, 30, "2.10.02123.1293");

            StackHashFile file1 =
                new StackHashFile(creationDateTime, modifiedDateTime, 20, creationDateTime, "File1.dll", "2.3.4.5");

            StackHashEventSignature eventSignature = new StackHashEventSignature();

            eventSignature.Parameters = new StackHashParameterCollection();
            eventSignature.Parameters.Add(new StackHashParameter(StackHashEventSignature.ParamApplicationName, "AppName"));
            eventSignature.Parameters.Add(new StackHashParameter(StackHashEventSignature.ParamApplicationVersion, "1.2.3.4"));
            eventSignature.Parameters.Add(new StackHashParameter(StackHashEventSignature.ParamApplicationTimeStamp, creationDateTime.ToString()));
            eventSignature.Parameters.Add(new StackHashParameter(StackHashEventSignature.ParamModuleName, "ModuleName"));
            eventSignature.Parameters.Add(new StackHashParameter(StackHashEventSignature.ParamModuleVersion, "2.3.4.5"));
            eventSignature.Parameters.Add(new StackHashParameter(StackHashEventSignature.ParamModuleTimeStamp, creationDateTime.ToString()));
            eventSignature.Parameters.Add(new StackHashParameter(StackHashEventSignature.ParamExceptionCode, "1234"));
            eventSignature.Parameters.Add(new StackHashParameter(StackHashEventSignature.ParamOffset, "0x1234"));
            eventSignature.InterpretParameters();

            StackHashEvent event1 =
                new StackHashEvent(creationDateTime, modifiedDateTime, "EventTypeName1", 100, eventSignature, 20, file1.Id, "bug");

            m_Index.AddProduct(product1);
            m_Index.AddFile(product1, file1);
            m_Index.AddEvent(product1, file1, event1);

            StackHashEventInfoCollection eventInfos = new StackHashEventInfoCollection();

            int    hitCount         = 1;
            int    totalHits        = 0;
            String localeCodeBase   = "US";
            String languageNameBase = "ENGLISH";
            String osBase           = "Vista";

            for (int i = 1; i <= numEventInfos; i++)
            {
                DateTime nowTime = DateTime.Now;
                DateTime date    = new DateTime(nowTime.Year, nowTime.Month, nowTime.Day, nowTime.Hour, nowTime.Minute, 0);

                int osId     = (i % osIdModulo) + 1;
                int localeId = i;

                totalHits += hitCount;
                StackHashEventInfo eventInfo = new StackHashEventInfo(date.AddDays(i * 1), date.AddDays(i * 2), date.AddDays(i * 3), languageNameBase + localeId.ToString(), localeId, localeCodeBase + localeId.ToString(), osBase + osId.ToString(), osId.ToString(), osId);

                eventInfos.Add(eventInfo);
            }

            m_Index.AddEventInfoCollection(product1, file1, event1, eventInfos);

            StackHashProductOperatingSystemSummaryCollection osSummary      = m_Index.GetOperatingSystemSummary(product1.Id);
            StackHashProductOperatingSystemSummaryCollection osSummaryFresh = m_Index.GetOperatingSystemSummaryFresh(product1.Id);

            Assert.AreEqual(0, osSummary.CompareTo(osSummaryFresh));

            Dictionary <int, StackHashProductOperatingSystemSummary> osCheckList = new Dictionary <int, StackHashProductOperatingSystemSummary>();

            if (osIdModulo < numEventInfos)
            {
                Assert.AreEqual(osIdModulo, osSummary.Count);
            }
            else
            {
                Assert.AreEqual(numEventInfos, osSummary.Count);
            }

            foreach (StackHashProductOperatingSystemSummary osData in osSummary)
            {
                int osId = int.Parse(osData.OperatingSystemVersion);

                if (osIdModulo >= numEventInfos)
                {
                    Assert.AreEqual(osId, osData.TotalHits);
                }
                else
                {
                    Assert.AreEqual(osId * ((numEventInfos / osIdModulo)), osData.TotalHits);
                }

                Assert.AreEqual(osBase + osId.ToString(), osData.OperatingSystemName);
                Assert.AreEqual(false, osCheckList.ContainsKey(osId));
                osCheckList.Add(osId, osData);
            }

            // Update the stats fresh.
            m_Index.UpdateProductStatistics(product1.Id);
            StackHashProductOperatingSystemSummaryCollection osSummary2 = m_Index.GetOperatingSystemSummary(product1.Id);

            Assert.AreEqual(0, osSummary.CompareTo(osSummary2));
        }