public GuestProjectPathProviderTest()
        {
            JoinableTaskContext = new JoinableTaskContext();
            var collabSession = new TestCollaborationSession(isHost: false);

            SessionAccessor = Mock.Of <LiveShareSessionAccessor>(accessor => accessor.IsGuestSessionActive == true && accessor.Session == collabSession);
        }
Beispiel #2
0
        public ProjectSnapshotSynchronizationServiceTest()
        {
            JoinableTaskContext = new JoinableTaskContext();
            JoinableTaskFactory = new JoinableTaskFactory(JoinableTaskContext);

            SessionContext = new TestCollaborationSession(isHost: false);

            ProjectSnapshotManager = new TestProjectSnapshotManager(Workspace);

            ProjectWorkspaceStateWithTagHelpers = new ProjectWorkspaceState(new[]
            {
                TagHelperDescriptorBuilder.Create("TestTagHelper", "TestAssembly").Build()
            }, default);
        }
        public ProjectSnapshotSynchronizationServiceTest()
        {
            var joinableTaskContext = new JoinableTaskContextNode(new JoinableTaskContext());

            JoinableTaskFactory = new JoinableTaskFactory(joinableTaskContext.Context);

            var collabSession = new TestCollaborationSession(isHost: false);

            SessionAccessor = Mock.Of <LiveShareSessionAccessor>(accessor => accessor.IsGuestSessionActive == true && accessor.Session == collabSession);

            ProjectSnapshotManager = new TestProjectSnapshotManager(Workspace);

            ProjectWorkspaceStateWithTagHelpers = new ProjectWorkspaceState(new[]
            {
                TagHelperDescriptorBuilder.Create("TestTagHelper", "TestAssembly").Build()
            });
        }
        public void GetHostProjectPath_AsksProxyForProjectPathAsync()
        {
            // Arrange
            var expectedGuestFilePath   = "/guest/path/index.cshtml";
            var expectedHostFilePath    = new Uri("vsls:/path/index.cshtml");
            var expectedHostProjectPath = new Uri("vsls:/path/project.csproj");
            var collabSession           = new TestCollaborationSession(isHost: true);
            var sessionAccessor         = Mock.Of <LiveShareSessionAccessor>(accessor => accessor.IsGuestSessionActive == true && accessor.Session == collabSession);

            var proxy               = Mock.Of <IProjectHierarchyProxy>(p => p.GetProjectPathAsync(expectedHostFilePath, CancellationToken.None) == Task.FromResult(expectedHostProjectPath));
            var proxyAccessor       = Mock.Of <ProxyAccessor>(accessor => accessor.GetProjectHierarchyProxy() == proxy);
            var textDocument        = Mock.Of <ITextDocument>(document => document.FilePath == expectedGuestFilePath);
            var projectPathProvider = new GuestProjectPathProvider(
                JoinableTaskContext,
                Mock.Of <ITextDocumentFactoryService>(),
                proxyAccessor,
                sessionAccessor);

            // Act
            var hostProjectPath = projectPathProvider.GetHostProjectPath(textDocument);

            // Assert
            Assert.Equal(expectedHostProjectPath, hostProjectPath);
        }