Exemplo n.º 1
0
        public void RecordRemoteAttachTest()
        {
            var debugger = new ReAttachDebugger(_mocks.MockReAttachPackage.Object);

            _mocks.MockReAttachUi.Setup(ui => ui.Update());

            var processCreateEvent = new Mock <IDebugProcessCreateEvent2>(MockBehavior.Strict);
            var process            = new Mock <IDebugProcess3>(MockBehavior.Strict);

            process.Setup(p => p.GetEngineFilter(It.IsAny <GUID_ARRAY[]>())).Returns(null);

            var process2 = process.As <IDebugProcess2>();

            process2.Setup(p => p.GetPhysicalProcessId(It.IsAny <AD_PROCESS_ID[]>())).Returns(123);

            var serverMock = new Mock <IDebugCoreServer3>(MockBehavior.Strict);
            var server     = serverMock.As <IDebugCoreServer2>().Object;

            serverMock.Setup(s => s.QueryIsLocal()).Returns(VSConstants.S_FALSE);
            var serverName = "server:1234";

            serverMock.Setup(s => s.GetServerFriendlyName(out serverName)).Returns(VSConstants.S_OK);
            process2.Setup(p => p.GetServer(out server)).Returns(VSConstants.S_OK);

            string processName;

            process2.Setup(p => p.GetName(It.IsAny <uint>(), out processName)).Returns(VSConstants.S_OK);

            var        eventGuid  = Guid.Empty;
            const uint attributes = 0;

            Assert.AreEqual(VSConstants.S_OK, debugger.Event(null, process.Object, null, null,
                                                             processCreateEvent.As <IDebugEvent2>().Object, ref eventGuid, attributes));
            Assert.AreEqual("server:1234", _mocks.MockReAttachHistoryItems[0].ServerName,
                            "Invalid server name, server name not set when remote ReAttaching.");

            _mocks.MockReAttachHistory.Verify(h => h.Items);
            _mocks.MockReAttachUi.Verify(ui => ui.Update());
            Assert.AreEqual(1, _mocks.MockReAttachHistoryItems.Count(i => i.IsAttached), "Invalid number of processes claimed to be attached.");
        }
Exemplo n.º 2
0
        public void RecordRemoteAttachTest()
        {
            var debugger = new ReAttachDebugger(_mocks.MockReAttachPackage.Object);
            _mocks.MockReAttachUi.Setup(ui => ui.Update());

            var processCreateEvent = new Mock<IDebugProcessCreateEvent2>(MockBehavior.Strict);
            var process = new Mock<IDebugProcess3>(MockBehavior.Strict);
            process.Setup(p => p.GetEngineFilter(It.IsAny<GUID_ARRAY[]>())).Returns(null);

            var process2 = process.As<IDebugProcess2>();
            process2.Setup(p => p.GetPhysicalProcessId(It.IsAny<AD_PROCESS_ID[]>())).Returns(123);

            var serverMock = new Mock<IDebugCoreServer3>(MockBehavior.Strict);
            var server = serverMock.As<IDebugCoreServer2>().Object;
            serverMock.Setup(s => s.QueryIsLocal()).Returns(VSConstants.S_FALSE);
            var serverName = "server:1234";
            serverMock.Setup(s => s.GetServerFriendlyName(out serverName)).Returns(VSConstants.S_OK);
            process2.Setup(p => p.GetServer(out server)).Returns(VSConstants.S_OK);

            string processName;
            process2.Setup(p => p.GetName(It.IsAny<uint>(), out processName)).Returns(VSConstants.S_OK);

            var eventGuid = Guid.Empty;
            const uint attributes = 0;
            Assert.AreEqual(VSConstants.S_OK, debugger.Event(null, process.Object, null, null,
                processCreateEvent.As<IDebugEvent2>().Object, ref eventGuid, attributes));
            Assert.AreEqual("server:1234", _mocks.MockReAttachHistoryItems[0].ServerName,
                "Invalid server name, server name not set when remote ReAttaching.");

            _mocks.MockReAttachHistory.Verify(h => h.Items);
            _mocks.MockReAttachUi.Verify(ui => ui.Update());
            Assert.AreEqual(1, _mocks.MockReAttachHistoryItems.Count(i => i.IsAttached), "Invalid number of processes claimed to be attached.");
        }