public void LooseObjectsFailGitProcessIds() { this.TestSetup(DateTime.UtcNow.AddDays(-7)); Mock <GitProcessChecker> mockChecker = new Mock <GitProcessChecker>(); mockChecker.Setup(checker => checker.GetRunningGitProcessIds()) .Returns(new int[] { 1 }); LooseObjectsStep step = new LooseObjectsStep( this.context, requireCacheLock: false, forceRun: false, gitProcessChecker: mockChecker.Object); step.Execute(); mockChecker.Verify(checker => checker.GetRunningGitProcessIds(), Times.Once()); this.tracer.StartActivityTracer.RelatedErrorEvents.Count.ShouldEqual(0); this.tracer.StartActivityTracer.RelatedWarningEvents.Count.ShouldEqual(1); List <string> commands = this.gitProcess.CommandsRun; commands.Count.ShouldEqual(0); }
public void LooseObjectFileName() { this.TestSetup(DateTime.UtcNow); LooseObjectsStep step = new LooseObjectsStep(this.context, requireCacheLock: false, forceRun: false); step.GetLooseObjectFileName("0123456789012345678901234567890123456789") .ShouldEqual(Path.Combine(this.context.Enlistment.GitObjectsRoot, "01", "23456789012345678901234567890123456789")); }
public void LooseObjectsCount() { this.TestSetup(DateTime.UtcNow.AddDays(-7)); LooseObjectsStep step = new LooseObjectsStep(this.context, requireCacheLock: false, forceRun: false); int count = step.CountLooseObjects(); count.ShouldEqual(3); }
public void LooseObjectsCount() { this.TestSetup(DateTime.UtcNow.AddDays(-7)); LooseObjectsStep step = new LooseObjectsStep(this.context, requireCacheLock: false, forceRun: false); step.CountLooseObjects(out int count, out long size); count.ShouldEqual(3); size.ShouldEqual("one".Length + "two".Length + "three".Length); }
public void LooseObjectsLimitPackCount() { this.TestSetup(DateTime.UtcNow.AddDays(-7)); // Verify with default limit LooseObjectsStep step = new LooseObjectsStep(this.context, requireCacheLock: false, forceRun: false); step.WriteLooseObjectIds(new StreamWriter(new MemoryStream())).ShouldEqual(3); // Verify with limit of 2 step.MaxLooseObjectsInPack = 2; step.WriteLooseObjectIds(new StreamWriter(new MemoryStream())).ShouldEqual(2); }
public void LooseObjectsFailTimeRestriction() { this.TestSetup(DateTime.UtcNow); LooseObjectsStep step = new LooseObjectsStep(this.context, requireCacheLock: false, forceRun: false); step.Execute(); this.tracer.StartActivityTracer.RelatedErrorEvents.Count.ShouldEqual(0); this.tracer.StartActivityTracer.RelatedWarningEvents.Count.ShouldEqual(1); List <string> commands = this.gitProcess.CommandsRun; commands.Count.ShouldEqual(0); }
public void LooseObjectsPassTimeRestriction() { this.TestSetup(DateTime.UtcNow.AddDays(-7)); LooseObjectsStep step = new LooseObjectsStep(this.context, requireCacheLock: false, forceRun: false); step.Execute(); this.tracer.StartActivityTracer.RelatedErrorEvents.Count.ShouldEqual(0); this.tracer.StartActivityTracer.RelatedWarningEvents.Count.ShouldEqual(0); List <string> commands = this.gitProcess.CommandsRun; commands.Count.ShouldEqual(2); commands[0].ShouldEqual(PrunePackedCommand); commands[1].ShouldEqual(this.packCommand); }
public void SkipInvalidLooseObjects() { this.TestSetup(DateTime.UtcNow.AddDays(-7)); // Verify with valid Objects LooseObjectsStep step = new LooseObjectsStep(this.context, requireCacheLock: false, forceRun: false); step.WriteLooseObjectIds(new StreamWriter(new MemoryStream())).ShouldEqual(3); this.tracer.RelatedErrorEvents.Count.ShouldEqual(0); this.tracer.RelatedWarningEvents.Count.ShouldEqual(0); // Write an ObjectId file with an invalid name this.context.FileSystem.WriteAllText(Path.Combine(this.context.Enlistment.GitObjectsRoot, "AA", "NOT_A_SHA"), string.Empty); // Verify it wasn't added and a warning exists step.WriteLooseObjectIds(new StreamWriter(new MemoryStream())).ShouldEqual(3); this.tracer.RelatedErrorEvents.Count.ShouldEqual(0); this.tracer.RelatedWarningEvents.Count.ShouldEqual(1); }
public void LooseObjectId() { this.TestSetup(DateTime.UtcNow.AddDays(-7)); LooseObjectsStep step = new LooseObjectsStep(this.context, requireCacheLock: false, forceRun: false); string directoryName = "AB"; string fileName = "830bb79cd4fadb2e73e780e452dc71db909001"; step.TryGetLooseObjectId( directoryName, Path.Combine(this.context.Enlistment.GitObjectsRoot, directoryName, fileName), out string objectId).ShouldBeTrue(); objectId.ShouldEqual(directoryName + fileName); directoryName = "AB"; fileName = "BAD_FILE_NAME"; step.TryGetLooseObjectId( directoryName, Path.Combine(this.context.Enlistment.GitObjectsRoot, directoryName, fileName), out objectId).ShouldBeFalse(); }