Esempio n. 1
0
        public void ReleaseLockHeldByGVFS_WhenExternalHasLockShouldThrow()
        {
            MockPlatform mockPlatform = (MockPlatform)GVFSPlatform.Instance;
            GVFSLock     gvfsLock     = this.AcquireDefaultLock(mockPlatform);

            Assert.Throws <InvalidOperationException>(() => gvfsLock.ReleaseLockHeldByGVFS());
        }
Esempio n. 2
0
 public void SetUp()
 {
     this.tracer       = new MockTracer();
     this.fileSystem   = new MockFileSystem(new MockDirectory(ServiceDataLocation, null, null));
     this.gvfsPlatform = (MockPlatform)GVFSPlatform.Instance;
     this.gvfsPlatform.MockCurrentUser = ExpectedActiveUserId.ToString();
 }
Esempio n. 3
0
        public void TryAcquireLockForGVFS_WhenExternalLock()
        {
            MockPlatform mockPlatform = (MockPlatform)GVFSPlatform.Instance;
            GVFSLock     gvfsLock     = this.AcquireDefaultLock(mockPlatform);

            gvfsLock.TryAcquireLockForGVFS().ShouldBeFalse();
            mockPlatform.ActiveProcesses.Remove(DefaultLockData.PID);
        }
Esempio n. 4
0
        public void ReleaseLockHeldByExternalProcess_DifferentPID()
        {
            MockPlatform mockPlatform = (MockPlatform)GVFSPlatform.Instance;
            GVFSLock     gvfsLock     = this.AcquireDefaultLock(mockPlatform);

            gvfsLock.ReleaseLockHeldByExternalProcess(4321).ShouldBeFalse();
            this.ValidateLockHeld(gvfsLock, DefaultLockData);
        }
Esempio n. 5
0
        public void TryAcquireAndReleaseLockForExternalRequestor()
        {
            MockPlatform mockPlatform = (MockPlatform)GVFSPlatform.Instance;
            GVFSLock     gvfsLock     = this.AcquireDefaultLock(mockPlatform);

            mockPlatform.ActiveProcesses.Remove(DefaultLockData.PID);
            gvfsLock.ReleaseLockHeldByExternalProcess(DefaultLockData.PID);
            this.ValidateLockIsFree(gvfsLock);
        }
Esempio n. 6
0
        protected override Task When()
        {
            _expectedPlatform = new MockPlatform();

            _xamarinHostBuilder.UsePlatform(_expectedPlatform)
            .UseApplication <MockXamarinApplication>();

            return(Task.CompletedTask);
        }
Esempio n. 7
0
        public void ReleaseLockHeldByGVFS_WhenExternalHasLockShouldThrow()
        {
            Mock <ITracer> mockTracer = new Mock <ITracer>(MockBehavior.Strict);

            mockTracer.Setup(x => x.RelatedEvent(EventLevel.Informational, "TryAcquireLockExternal", It.IsAny <EventMetadata>()));
            MockPlatform mockPlatform = (MockPlatform)GVFSPlatform.Instance;
            GVFSLock     gvfsLock     = this.AcquireDefaultLock(mockPlatform, mockTracer.Object);

            Assert.Throws <InvalidOperationException>(() => gvfsLock.ReleaseLockHeldByGVFS());
            mockTracer.VerifyAll();
        }
Esempio n. 8
0
        private GVFSLock AcquireDefaultLock(MockPlatform mockPlatform, ITracer mockTracer)
        {
            GVFSLock gvfsLock = new GVFSLock(mockTracer);

            this.ValidateLockIsFree(gvfsLock);
            NamedPipeMessages.LockData existingExternalHolder;
            gvfsLock.TryAcquireLockForExternalRequestor(DefaultLockData, out existingExternalHolder).ShouldBeTrue();
            existingExternalHolder.ShouldBeNull();
            mockPlatform.ActiveProcesses.Add(DefaultLockData.PID);
            this.ValidateLockHeld(gvfsLock, DefaultLockData);
            return(gvfsLock);
        }
Esempio n. 9
0
        public void TryAcquireLockForExternalRequestor_WhenExternalLock()
        {
            MockPlatform mockPlatform = (MockPlatform)GVFSPlatform.Instance;
            GVFSLock     gvfsLock     = this.AcquireDefaultLock(mockPlatform);

            NamedPipeMessages.LockData newLockData = new NamedPipeMessages.LockData(4321, false, false, "git new");
            NamedPipeMessages.LockData existingExternalHolder;
            gvfsLock.TryAcquireLockForExternalRequestor(newLockData, out existingExternalHolder).ShouldBeFalse();
            this.ValidateLockHeld(gvfsLock, DefaultLockData);
            this.ValidateExistingExternalHolder(DefaultLockData, existingExternalHolder);
            mockPlatform.ActiveProcesses.Remove(DefaultLockData.PID);
        }
Esempio n. 10
0
        public void ReleaseLockHeldByExternalProcess_DifferentPID()
        {
            Mock <ITracer> mockTracer = new Mock <ITracer>(MockBehavior.Strict);

            mockTracer.Setup(x => x.RelatedEvent(EventLevel.Informational, "ReleaseLockHeldByExternalProcess", It.IsAny <EventMetadata>(), Keywords.Telemetry));
            mockTracer.Setup(x => x.RelatedEvent(EventLevel.Informational, "TryAcquireLockExternal", It.IsAny <EventMetadata>()));
            MockPlatform mockPlatform = (MockPlatform)GVFSPlatform.Instance;
            GVFSLock     gvfsLock     = this.AcquireDefaultLock(mockPlatform, mockTracer.Object);

            gvfsLock.ReleaseLockHeldByExternalProcess(4321).ShouldBeFalse();
            this.ValidateLockHeld(gvfsLock, DefaultLockData);
            mockTracer.VerifyAll();
        }
Esempio n. 11
0
        public void TryAcquireLockForGVFS_WhenExternalLock()
        {
            Mock <ITracer> mockTracer = new Mock <ITracer>(MockBehavior.Strict);

            mockTracer.Setup(x => x.RelatedEvent(EventLevel.Informational, "TryAcquireLockExternal", It.IsAny <EventMetadata>()));
            mockTracer.Setup(x => x.RelatedEvent(EventLevel.Verbose, "TryAcquireLockInternal", It.IsAny <EventMetadata>()));
            MockPlatform mockPlatform = (MockPlatform)GVFSPlatform.Instance;
            GVFSLock     gvfsLock     = this.AcquireDefaultLock(mockPlatform, mockTracer.Object);

            gvfsLock.TryAcquireLockForGVFS().ShouldBeFalse();
            mockPlatform.ActiveProcesses.Remove(DefaultLockData.PID);
            mockTracer.VerifyAll();
        }
Esempio n. 12
0
        public void TryAcquireAndReleaseLockForExternalRequestor()
        {
            Mock <ITracer> mockTracer = new Mock <ITracer>(MockBehavior.Strict);

            mockTracer.Setup(x => x.RelatedEvent(EventLevel.Informational, "TryAcquireLockExternal", It.IsAny <EventMetadata>()));
            mockTracer.Setup(x => x.RelatedEvent(EventLevel.Informational, "ReleaseLockHeldByExternalProcess", It.IsAny <EventMetadata>(), Keywords.Telemetry));
            MockPlatform mockPlatform = (MockPlatform)GVFSPlatform.Instance;
            GVFSLock     gvfsLock     = this.AcquireDefaultLock(mockPlatform, mockTracer.Object);

            mockPlatform.ActiveProcesses.Remove(DefaultLockData.PID);
            gvfsLock.ReleaseLockHeldByExternalProcess(DefaultLockData.PID);
            this.ValidateLockIsFree(gvfsLock);
            mockTracer.VerifyAll();
        }
Esempio n. 13
0
        public void TryAcquireLockForExternalRequestor_WhenExternalLock()
        {
            Mock <ITracer> mockTracer = new Mock <ITracer>(MockBehavior.Strict);

            mockTracer.Setup(x => x.RelatedEvent(EventLevel.Informational, "TryAcquireLockExternal", It.IsAny <EventMetadata>()));
            mockTracer.Setup(x => x.RelatedEvent(EventLevel.Verbose, "TryAcquireLockExternal", It.IsAny <EventMetadata>()));
            MockPlatform mockPlatform = (MockPlatform)GVFSPlatform.Instance;
            GVFSLock     gvfsLock     = this.AcquireDefaultLock(mockPlatform, mockTracer.Object);

            NamedPipeMessages.LockData newLockData = new NamedPipeMessages.LockData(4321, false, false, "git new", "123");
            NamedPipeMessages.LockData existingExternalHolder;
            gvfsLock.TryAcquireLockForExternalRequestor(newLockData, out existingExternalHolder).ShouldBeFalse();
            this.ValidateLockHeld(gvfsLock, DefaultLockData);
            this.ValidateExistingExternalHolder(DefaultLockData, existingExternalHolder);
            mockPlatform.ActiveProcesses.Remove(DefaultLockData.PID);
            mockTracer.VerifyAll();
        }
Esempio n. 14
0
        public void TryAcquireLockForExternalRequestor_WhenExternalHolderTerminated()
        {
            Mock <ITracer> mockTracer = new Mock <ITracer>(MockBehavior.Strict);

            mockTracer.Setup(x => x.RelatedEvent(EventLevel.Informational, "TryAcquireLockExternal", It.IsAny <EventMetadata>()));
            mockTracer.Setup(x => x.RelatedEvent(EventLevel.Informational, "ExternalLockHolderExited", It.IsAny <EventMetadata>(), Keywords.Telemetry));
            mockTracer.Setup(x => x.SetGitCommandSessionId(string.Empty));
            MockPlatform mockPlatform = (MockPlatform)GVFSPlatform.Instance;
            GVFSLock     gvfsLock     = this.AcquireDefaultLock(mockPlatform, mockTracer.Object);

            mockPlatform.ActiveProcesses.Remove(DefaultLockData.PID);

            NamedPipeMessages.LockData newLockData = new NamedPipeMessages.LockData(4321, false, false, "git new", "123");
            mockPlatform.ActiveProcesses.Add(newLockData.PID);
            NamedPipeMessages.LockData existingExternalHolder;
            gvfsLock.TryAcquireLockForExternalRequestor(newLockData, out existingExternalHolder).ShouldBeTrue();
            existingExternalHolder.ShouldBeNull();
            this.ValidateLockHeld(gvfsLock, newLockData);
            mockTracer.VerifyAll();
        }
 public MockClassicNonIncrementalPipeline()
 {
     m_Platform = new MockPlatform();
 }
 public void SetUp()
 {
     this.tracer         = new MockTracer();
     this.scalarPlatform = (MockPlatform)ScalarPlatform.Instance;
     this.scalarPlatform.MockCurrentUser = ExpectedActiveUserId.ToString();
 }