public TestCacheStats(TestResultStorage testResultStorage, CloudTableClient tableClient) { _testResultStorage = testResultStorage; _unitTestCounterUtil = new CounterUtil <UnitTestCounterEntity>(tableClient.GetTableReference(AzureConstants.TableNames.CounterUnitTestQuery)); _testCacheCounterUtil = new CounterUtil <TestCacheCounterEntity>(tableClient.GetTableReference(AzureConstants.TableNames.CounterTestCache)); _testRunCounterUtil = new CounterUtil <TestRunCounterEntity>(tableClient.GetTableReference(AzureConstants.TableNames.CounterTestRun)); }
public TestCacheStats(TestResultStorage testResultStorage, CloudTableClient tableClient) { _testResultStorage = testResultStorage; _unitTestCounterUtil = new CounterUtil<UnitTestCounterEntity>(tableClient.GetTableReference(AzureConstants.TableNames.CounterUnitTestQuery)); _testCacheCounterUtil = new CounterUtil<TestCacheCounterEntity>(tableClient.GetTableReference(AzureConstants.TableNames.CounterTestCache)); _testRunCounterUtil = new CounterUtil<TestRunCounterEntity>(tableClient.GetTableReference(AzureConstants.TableNames.CounterTestRun)); }
public CounterStatsUtil(CloudTableClient client) { _testCacheEntityUtil = new CounterUtil<TestCacheCounterEntity>(client.GetTableReference(TableNames.CounterTestCache)); _testCacheEntityUtilJenkins = new CounterUtil<TestCacheCounterEntity>(client.GetTableReference(TableNames.CounterTestCacheJenkins)); _unitTestEntityUtil = new CounterUtil<UnitTestCounterEntity>(client.GetTableReference(TableNames.CounterUnitTestQuery)); _unitTestEntityUtilJenkins = new CounterUtil<UnitTestCounterEntity>(client.GetTableReference(TableNames.CounterUnitTestQueryJenkins)); _testRunEntityUtil = new CounterUtil<TestRunCounterEntity>(client.GetTableReference(TableNames.CounterTestRun)); _testRunEntityUtilJenkins = new CounterUtil<TestRunCounterEntity>(client.GetTableReference(TableNames.CounterTestRunJenkins)); }
public CounterStatsUtil(CloudTableClient client) { _testCacheEntityUtil = new CounterUtil <TestCacheCounterEntity>(client.GetTableReference(TableNames.CounterTestCache)); _testCacheEntityUtilJenkins = new CounterUtil <TestCacheCounterEntity>(client.GetTableReference(TableNames.CounterTestCacheJenkins)); _unitTestEntityUtil = new CounterUtil <UnitTestCounterEntity>(client.GetTableReference(TableNames.CounterUnitTestQuery)); _unitTestEntityUtilJenkins = new CounterUtil <UnitTestCounterEntity>(client.GetTableReference(TableNames.CounterUnitTestQueryJenkins)); _testRunEntityUtil = new CounterUtil <TestRunCounterEntity>(client.GetTableReference(TableNames.CounterTestRun)); _testRunEntityUtilJenkins = new CounterUtil <TestRunCounterEntity>(client.GetTableReference(TableNames.CounterTestRunJenkins)); }
public CounterUtilTests() { var account = Util.GetStorageAccount(); var tableClient = account.CreateCloudTableClient(); var tableName = "CounterUtilTestTableName"; Table = tableClient.GetTableReference(tableName); Table.Create(); CounterUtil = new CounterUtil<TestEntity>(Table); }
public CounterUtilTests() { var account = Util.GetStorageAccount(); var tableClient = account.CreateCloudTableClient(); var tableName = "CounterUtilTestTableName"; Table = tableClient.GetTableReference(tableName); Table.Create(); CounterUtil = new CounterUtil <TestEntity>(Table); }
private static void AddUnitTestQuery(CounterUtil <UnitTestCounterEntity> util, UnitTestData unitTestData, TimeSpan elapsed) { util.Update(entity => { entity.AssemblyCount++; entity.TestsPassed += unitTestData.Passed; entity.TestsFailed += unitTestData.Failed; entity.TestsSkipped += unitTestData.Skipped; entity.ElapsedSeconds += (long)elapsed.TotalSeconds; }); }
private static void AddTestRun(CounterUtil <TestRunCounterEntity> util, bool succeeded) { util.Update(entity => { entity.RunCount++; if (succeeded) { entity.SucceededCount++; } }); }
private static void AddUnitTestQuery(CounterUtil<UnitTestCounterEntity> util, UnitTestData unitTestData, TimeSpan elapsed) { util.Update(entity => { entity.AssemblyCount++; entity.TestsPassed += unitTestData.Passed; entity.TestsFailed += unitTestData.Failed; entity.TestsSkipped += unitTestData.Skipped; entity.ElapsedSeconds += (long)elapsed.TotalSeconds; }); }
public void DifferentForJenkins() { var dateTime = DateTimeOffset.UtcNow; var counterData = new CounterData(dateTime, "hello world", isJenkins: false); var counterData2 = new CounterData(dateTime, counterData.EntityWriterId, isJenkins: true); var key1 = CounterUtil.GetRowKey(counterData); var key2 = CounterUtil.GetRowKey(counterData); var key3 = CounterUtil.GetRowKey(counterData2); Assert.Equal(key1, key2); Assert.NotEqual(key1, key3); }
public void DifferentForInterval() { var dateTime = DateTimeOffset.UtcNow; var counterData = new CounterData(dateTime, "hello world", isJenkins: false); var counterData2 = new CounterData(dateTime.AddMinutes(CounterUtil.MinuteInternal), counterData.EntityWriterId, isJenkins: counterData.IsJenkins); var key1 = CounterUtil.GetRowKey(counterData); var key2 = CounterUtil.GetRowKey(counterData); var key3 = CounterUtil.GetRowKey(counterData2); Assert.Equal(key1, key2); Assert.NotEqual(key1, key3); }
private T GetOrCreateEntity(CounterData counterData) { var key = CounterUtil.GetEntityKey(counterData); var filter = FilterUtil.Key(key).Filter; var query = new TableQuery <T>().Where(filter); var entity = _table.ExecuteQuery(query).FirstOrDefault(); if (entity != null) { return(entity); } return(_createFunc(counterData)); }
public void SingleItem() { var dateTime = DateTimeOffset.UtcNow; var counterData = GetCounterData(dateTime); var entity = new TestCounterEntity(counterData) { Count = 42 }; _table.Execute(TableOperation.Insert(entity)); var list = CounterUtil.Query <TestCounterEntity>(_table, dateTime, dateTime).ToList(); Assert.Equal(1, list.Count); Assert.Equal(42, list[0].Count); }
public BuildTablePopulator(CloudTable buildResultDateTable, CloudTable buildResultExactTable, CloudTable buildFailureDateTable, CloudTable buildFailureExactTable, CloudTable viewNameDateTable, CounterUtil<BuildCounterEntity> buildCounterUtil, JenkinsClient client, TextWriter textWriter) { Debug.Assert(buildResultDateTable.Name == TableNames.BuildResultDate); Debug.Assert(buildResultExactTable.Name == TableNames.BuildResultExact); Debug.Assert(buildFailureDateTable.Name == TableNames.BuildFailureDate); Debug.Assert(buildFailureExactTable.Name == TableNames.BuildFailureExact); Debug.Assert(viewNameDateTable.Name == TableNames.ViewNameDate); Debug.Assert(buildCounterUtil.Table.Name == TableNames.CounterBuilds); _buildResultDateTable = buildResultDateTable; _buildResultExactTable = buildResultExactTable; _buildFailureDateTable = buildFailureDateTable; _buildFailureExactTable = buildFailureExactTable; _viewNameDateTable = viewNameDateTable; _buildCounterUtil = buildCounterUtil; _client = client; _textWriter = textWriter; }
public BuildTablePopulator(CloudTable buildResultDateTable, CloudTable buildResultExactTable, CloudTable buildFailureDateTable, CloudTable buildFailureExactTable, CloudTable viewNameDateTable, CounterUtil <BuildCounterEntity> buildCounterUtil, JenkinsClient client, TextWriter textWriter) { Debug.Assert(buildResultDateTable.Name == TableNames.BuildResultDate); Debug.Assert(buildResultExactTable.Name == TableNames.BuildResultExact); Debug.Assert(buildFailureDateTable.Name == TableNames.BuildFailureDate); Debug.Assert(buildFailureExactTable.Name == TableNames.BuildFailureExact); Debug.Assert(viewNameDateTable.Name == TableNames.ViewNameDate); Debug.Assert(buildCounterUtil.Table.Name == TableNames.CounterBuilds); _buildResultDateTable = buildResultDateTable; _buildResultExactTable = buildResultExactTable; _buildFailureDateTable = buildFailureDateTable; _buildFailureExactTable = buildFailureExactTable; _viewNameDateTable = viewNameDateTable; _buildCounterUtil = buildCounterUtil; _client = client; _textWriter = textWriter; }
public async Task BasicFromCtor() { var date = DateTimeOffset.UtcNow; var factory = new CounterUtilFactory(); var count = 10; for (var i = 0; i < count; i++) { var util = new CounterUtil <TestEntity>(Table); util.Update(e => e.Count++); } var all = await CounterUtil.QueryAsync(date); // This is why a factory is preferred. This method creates a new entity, and hence row, // per ctor. Assert.Equal(count, all.Count); Assert.Equal(count, all.Sum(x => x.Count)); }
public void MultipleDayIntervals() { var dateTime1 = DateTimeOffset.UtcNow; var entity1 = new TestCounterEntity(GetCounterData(dateTime1)) { Count = 42 }; _table.Execute(TableOperation.Insert(entity1)); var dateTime2 = dateTime1.AddDays(1); var entity2 = new TestCounterEntity(GetCounterData(dateTime2)) { Count = 13 }; _table.Execute(TableOperation.Insert(entity2)); var list = CounterUtil.Query <TestCounterEntity>(_table, dateTime1, dateTime2).ToList(); Assert.Equal(2, list.Count); Assert.Equal(42, list[0].Count); Assert.Equal(13, list[1].Count); }
private static void AddTestRun(CounterUtil<TestRunCounterEntity> util, bool succeeded) { util.Update(entity => { entity.RunCount++; if (succeeded) { entity.SucceededCount++; } }); }
private static void AddStore(CounterUtil <TestCacheCounterEntity> util) { util.Update(entity => entity.StoreCount++); }
private static void AddMiss(CounterUtil <TestCacheCounterEntity> util) { util.Update(entity => entity.MissCount++); }
private static void AddHit(CounterUtil <TestCacheCounterEntity> util) { util.Update(entity => entity.HitCount++); }
private static void AddHit(CounterUtil<TestCacheCounterEntity> util) { util.Update(entity => entity.HitCount++); }
public async Task BasicFromCtor() { var date = DateTimeOffset.UtcNow; var factory = new CounterUtilFactory(); var count = 10; for (var i =0; i< count; i++) { var util = new CounterUtil<TestEntity>(Table); util.Update(e => e.Count++); } var all = await CounterUtil.QueryAsync(date); // This is why a factory is preferred. This method creates a new entity, and hence row, // per ctor. Assert.Equal(count, all.Count); Assert.Equal(count, all.Sum(x => x.Count)); }
private static void AddStore(CounterUtil<TestCacheCounterEntity> util) { util.Update(entity => entity.StoreCount++); }
private static void AddMiss(CounterUtil<TestCacheCounterEntity> util) { util.Update(entity => entity.MissCount++); }