public void TestRequestSerialization()
        {
            // Given
            var request = new RDBGAttachDebugUIRequest
            {
                InfoBaseAlias  = "DefAlias",
                IdOfDebuggerUI = Guid.Parse("dbe7b1e9-9786-4a25-8da8-304684fa2ce3"),
                Options        = new DebuggerOptions
                {
                    ForegroundAbility = true
                }
            };

            // When
            var xmlString = DebuggerXmlSerializer.Serialize(request);

            Console.Write(xmlString);

            // Then
            var xmlRequest = DebuggerXmlSerializer.Deserialize <RDBGAttachDebugUIRequest>(xmlString);

            Assert.AreEqual(request.InfoBaseAlias, xmlRequest.InfoBaseAlias);
            Assert.AreEqual(request.IdOfDebuggerUI, xmlRequest.IdOfDebuggerUI);
            Assert.AreEqual(request.Options.ForegroundAbility, xmlRequest.Options.ForegroundAbility);
        }
Example #2
0
        public void TestExecutorWithVRSException()
        {
            // given
            var badRequest   = HttpStatusCode.BadRequest;
            var vrsException = new VRSException()
            {
                Reason      = (int)badRequest,
                Description = "Test"
            };

            var content         = DebuggerXmlSerializer.Serialize(vrsException);
            var responseMessage = new HttpResponseMessage(badRequest);

            responseMessage.Content = new StringContent(content);

            var messageHandler = new MockHttpMessageHandler();

            messageHandler.Enqueue(responseMessage);

            var executor   = messageHandler.CreateExecutor();
            var parameters = new RequestParameters("test");

            // when
            var ex = Assert.ThrowsAsync <Exception>(async() =>
                                                    await executor.ExecuteAsync <MiscRDbgGetAPIVerResponse>(new RDBGTestRequest(), parameters));

            // then
            Assert.AreEqual("Test", ex.Message);
        }
Example #3
0
        public void TestDeserialization()
        {
            // Given
            var xmlString = UtilsTest.XmlString("debugger", "debugDBGUICommands", "DBGUIExtCmdInfoMeasureTest.xml");

            // When
            var response = DebuggerXmlSerializer.Deserialize <RDBGPingDebugUIResponse>(xmlString);

            // Then
            Assert.AreEqual(response.Result.Count, 1);
            Assert.IsInstanceOf <DBGUIExtCmdInfoMeasure>(response.Result[0]);
            var infoMeasure = response.Result[0] as DBGUIExtCmdInfoMeasure;

            Assert.IsInstanceOf <DebugTargetId>(infoMeasure.TargetID);
            Assert.AreEqual("DefAlias", infoMeasure.TargetID.InfoBaseAlias);
            Assert.AreEqual("DefAlias", infoMeasure.Measure.TargetID.InfoBaseAlias);
            Assert.Greater(infoMeasure.Measure.TotalDurability, 0);
            Assert.Greater(infoMeasure.Measure.ModuleData.Count, 0);

            var moduleData = infoMeasure.Measure.ModuleData[0];

            Assert.IsInstanceOf <BSLModuleIdInternal>(moduleData.ModuleID);
            Assert.Greater(moduleData.LineInfo.Count, 0);

            var lineInfo = moduleData.LineInfo[0];

            Assert.Greater(lineInfo.LineNo, 0);
        }
        public void TestRequestSerialization()
        {
            // Given
            var request = new RDBGSetInitialDebugSettingsRequest
            {
                InfoBaseAlias  = "DefAlias",
                IdOfDebuggerUI = Guid.Parse("dbe7b1e9-9786-4a25-8da8-304684fa2ce3"),
                Data           = new HTTPServerInitialDebugSettingsData()
                {
                    RTEProcessing = new RteFilterStorage()
                    {
                        StopOnErrors    = true,
                        AnalyzeErrorStr = true
                    }
                }
            };

            // When
            var xmlString = DebuggerXmlSerializer.Serialize(request);

            Console.Write(xmlString);

            // Then
            var o = DebuggerXmlSerializer.Deserialize <RDBGSetInitialDebugSettingsRequest>(xmlString);

            Assert.AreEqual(request.InfoBaseAlias, o.InfoBaseAlias);
            Assert.AreEqual(request.IdOfDebuggerUI, o.IdOfDebuggerUI);
            Assert.AreEqual(request.Data.RTEProcessing.StopOnErrors, o.Data.RTEProcessing.StopOnErrors);
            Assert.AreEqual(request.Data.RTEProcessing.AnalyzeErrorStr, o.Data.RTEProcessing.AnalyzeErrorStr);
        }
        public void TestRequestSerialization()
        {
            // Given
            var request = new RDBGAttachDetachDebugTargetsRequest
            {
                InfoBaseAlias  = "DefAlias",
                IdOfDebuggerUI = Guid.Parse("dbe7b1e9-9786-4a25-8da8-304684fa2ce3"),
                Attach         = true
            };

            request.ID.Add(new DebugTargetIdLight()
            {
                ID = Guid.Parse("f8849103-dbcd-4984-905d-28059c33a720")
            });

            // When
            var xmlString = DebuggerXmlSerializer.Serialize(request);

            Console.Write(xmlString);

            // Then
            var xmlRequest = DebuggerXmlSerializer.Deserialize <RDBGAttachDetachDebugTargetsRequest>(xmlString);

            Assert.AreEqual(request.InfoBaseAlias, xmlRequest.InfoBaseAlias);
            Assert.AreEqual(request.IdOfDebuggerUI, xmlRequest.IdOfDebuggerUI);
            Assert.AreEqual(request.Attach, xmlRequest.Attach);
            Assert.AreEqual(request.ID[0].ID, xmlRequest.ID[0].ID);
        }
        public void Enqueue(HttpStatusCode statusCode, IRDBGResponse response)
        {
            var content         = DebuggerXmlSerializer.Serialize(response);
            var responseMessage = new HttpResponseMessage(statusCode);

            responseMessage.Content = new StringContent(content);
            Enqueue(responseMessage);
        }
        public void TestResponseDeserialization()
        {
            // Given
            var xmlString = UtilsTest.XmlString("debugger", "debugRDBGRequestResponse", "MiscRDbgGetAPIVerResponseTest.xml");

            // When
            var request = DebuggerXmlSerializer.Deserialize <MiscRDbgGetAPIVerResponse>(xmlString);

            // Then
            Assert.AreEqual(request.Version, "8.3.17");
        }
Example #8
0
        public void TestDeserialization()
        {
            // Given
            var xmlString = UtilsTest.XmlString("data", "core", "CoreExceptionTest.xml");

            // When
            var coreException = DebuggerXmlSerializer.Deserialize <CoreException>(xmlString);

            // Then
            Assert.AreEqual(coreException.CLSID, Guid.Parse("5372caa7-07b9-4767-9776-53b510236d93"));
        }
        public void TestRequestDeserialization()
        {
            // Given
            var xmlString = UtilsTest.XmlString("debugger", "debugRDBGRequestResponse", "RDBGAttachDetachDebugTargetsRequest.xml");

            // When
            var request = DebuggerXmlSerializer.Deserialize <RDBGSetInitialDebugSettingsRequest>(xmlString);

            // Then
            Assert.AreEqual(request.InfoBaseAlias, "DefAlias");
            Assert.AreEqual(request.IdOfDebuggerUI, Guid.Parse("dbe7b1e9-9786-4a25-8da8-304684fa2ce3"));
        }
        public void TestResponseDeserialization()
        {
            // Given
            var xmlString = UtilsTest.XmlString("debugger", "debugRDBGRequestResponse",
                                                "RDBGAttachDebugUIResponseTest.xml");

            // When
            var request = DebuggerXmlSerializer.Deserialize <RDBGAttachDebugUIResponse>(xmlString);

            // Then
            Assert.AreEqual(request.Result, AttachDebugUIResult.Registered);
        }
Example #11
0
        public void TestDeserialization()
        {
            // Given
            var xmlString = UtilsTest.XmlString("data", "core", "VRSExceptionTest.xml");

            // When
            var vrsException = DebuggerXmlSerializer.Deserialize <VRSException>(xmlString);

            // Then
            Assert.AreEqual(vrsException.CLSID, Guid.Parse("580392e6-ba49-4280-ac67-fcd6f2180121"));
            Assert.AreEqual(vrsException.Reason, 400);
        }
        public void TestRequestDeserialization()
        {
            // Given
            var xmlString = UtilsTest.XmlString("debugger", "debugRDBGRequestResponse", "RDBGAttachDebugUIRequestTest.xml");

            // When
            var request = DebuggerXmlSerializer.Deserialize <RDBGAttachDebugUIRequest>(xmlString);

            // Then
            Assert.AreEqual(request.InfoBaseAlias, "DefAlias");
            Assert.AreEqual(request.IdOfDebuggerUI, Guid.Parse("dbe7b1e9-9786-4a25-8da8-304684fa2ce3"));
            Assert.True(request.Options.ForegroundAbility);
        }
        public void TestRequestDeserialization()
        {
            // Given
            var xmlString = UtilsTest.XmlString("debugger", "debugRDBGRequestResponse",
                                                "RDBGAttachDetachDebugTargetsRequest.xml");

            // When
            var request = DebuggerXmlSerializer.Deserialize <RDBGAttachDetachDebugTargetsRequest>(xmlString);

            // Then
            Assert.AreEqual(request.InfoBaseAlias, "DefAlias");
            Assert.AreEqual(request.IdOfDebuggerUI, Guid.Parse("dbe7b1e9-9786-4a25-8da8-304684fa2ce3"));
            Assert.True(request.Attach);
            Assert.AreEqual(request.ID[0].ID, Guid.Parse("f8849103-dbcd-4984-905d-28059c33a720"));
        }
Example #14
0
        public void TestDeserialization()
        {
            // Given
            var xmlString = UtilsTest.XmlString("debugger", "debugDBGUICommands", "DBGUIExtCmdInfoQuitTest.xml");

            // When
            var response = DebuggerXmlSerializer.Deserialize <RDBGPingDebugUIResponse>(xmlString);

            // Then
            Assert.AreEqual(response.Result.Count, 1);
            Assert.IsInstanceOf <DBGUIExtCmdInfoQuit>(response.Result[0]);
            var infoStarted = (DBGUIExtCmdInfoQuit)response.Result[0];

            Assert.IsInstanceOf <DebugTargetId>(infoStarted.TargetID);
            Assert.AreEqual("DefAlias", infoStarted.TargetID.InfoBaseAlias);
        }
Example #15
0
        public async Task <T> ExecuteAsync <T>(IRDBGRequest request, RequestParameters parameters) where T : IRDBGResponse
        {
            var requesrUrl = parameters.RequestUrl(RootUrl);

            var requestContent = DebuggerXmlSerializer.Serialize(request);

            var responseContent = await HttpResponseContent(requesrUrl, requestContent);

            if (string.IsNullOrEmpty(responseContent))
            {
                return(Activator.CreateInstance <T>());
            }
            else
            {
                return(DebuggerXmlSerializer.Deserialize <T>(responseContent));
            }
        }
        public void TestResponseDeserialization()
        {
            // Given
            var xmlString = UtilsTest.XmlString("debugger", "debugRDBGRequestResponse",
                                                "RDBGGetDbgAllTargetStatesResponseTest.xml");

            // When
            var request = DebuggerXmlSerializer.Deserialize <RDBGGetDbgAllTargetStatesResponse>(xmlString);

            // Then
            Assert.AreEqual(2, request.Item.Count);

            var targetStateInfo = request.Item[0];

            Assert.AreEqual("DefAlias", targetStateInfo.TargetID.InfoBaseAlias);
            Assert.AreEqual(DbgTargetState.Worked, targetStateInfo.State);
        }
        public void TestResponseSerialization()
        {
            // Given
            var response = new RDBGAttachDebugUIResponse()
            {
                Result = AttachDebugUIResult.Registered
            };

            // When
            var xmlString = DebuggerXmlSerializer.Serialize(response);

            Console.Write(xmlString);

            // Then
            var xmlResponse = DebuggerXmlSerializer.Deserialize <RDBGAttachDebugUIResponse>(xmlString);

            Assert.AreEqual(response.Result, xmlResponse.Result);
        }
        public void TestResponseSerialization()
        {
            // Given
            var response = new MiscRDbgGetAPIVerResponse()
            {
                Version = "8.3.17"
            };

            // When
            var xmlString = DebuggerXmlSerializer.Serialize(response);

            Console.Write(xmlString);

            // Then
            var xmlResponse = DebuggerXmlSerializer.Deserialize <MiscRDbgGetAPIVerResponse>(xmlString);

            Assert.AreEqual(response.Version, xmlResponse.Version);
        }
Example #19
0
        private async Task <string> HttpResponseContent(Uri requestUrl, string requestContent)
        {
            var content = new StringContent(requestContent, Encoding.UTF8, "application/xml");

            var httpRequest = new HttpRequestMessage(HttpMethod.Post, requestUrl);

            httpRequest.Content = content;
            httpRequest.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/xml"));
            httpRequest.Headers.AcceptEncoding.Add(new StringWithQualityHeaderValue("gzip"));

            var httpResponse = await Client.SendAsync(httpRequest);

            var responseContent = await httpResponse.Content.ReadAsStringAsync();

            if (httpResponse.IsSuccessStatusCode)
            {
                return(responseContent);
            }
            else
            {
                GenericException exception;
                string           description;

                exception = DebuggerXmlSerializer.TryDeserialize <VRSException>(responseContent);
                if (exception is null)
                {
                    exception = DebuggerXmlSerializer.TryDeserialize <GenericException>(responseContent);
                }

                if (exception is null)
                {
                    description = responseContent;
                }
                else
                {
                    description = ErrorProcessingManager.BriefErrorDescription(exception);
                }

                throw new Exception(description);
            }
        }