public void BuildDropProcessor_should_write_a_row_to_SQL() { var calculator = Substitute.For<IFolderSizeCalculator>(); calculator.Calculate(null).ReturnsForAnyArgs(new FolderSizeResult()); var interupt = Substitute.For<IWarehouseInterupt>(); var context = Substitute.For<IWarehouseContext>(); var buildServer = Substitute.For<ITeamFoundationBuildService>(); var dac = Substitute.For<IWarehouseDataAccessComponent>(); context.CreateWarehouseDataAccessComponent().Returns(dac); var queryResult = new BuildQueryResult(); var reader = new TeamFoundationDataReader(new object[] {new[] {queryResult}}); var buildDetail = new BuildDetail {DropLocation = @"\\foo\bar", Uri = "vstfs:///Build/Build/1"}; queryResult.Builds.Add(buildDetail); buildServer.QueryBuilds(null).ReturnsForAnyArgs(reader); var processor = new BuildDropProcessor(interupt, context, buildServer, calculator); var collectionId = Guid.NewGuid(); processor.ProcessBuildDrops(collectionId); dac.ReceivedWithAnyArgs().ExecuteNonQuery(CommandType.Text, null, null); }
public void BuildDropProcessor_should_specify_wildcard_BuildNumber_in_query() { var calculator = Substitute.For<IFolderSizeCalculator>(); var interupt = Substitute.For<IWarehouseInterupt>(); var context = Substitute.For<IWarehouseContext>(); var buildServer = Substitute.For<ITeamFoundationBuildService>(); var reader = new TeamFoundationDataReader(new object[] {new BuildQueryResult[0]}); buildServer.QueryBuilds(null).ReturnsForAnyArgs(reader); var processor = new BuildDropProcessor(interupt, context, buildServer, calculator); var collectionId = Guid.NewGuid(); processor.ProcessBuildDrops(collectionId); buildServer.Received().QueryBuilds(Arg.Is<IList<BuildDetailSpec>>(l => l[0].BuildNumber == "*")); }