示例#1
0
            public static void PostData(string username, string data, System.Action <bool> callback)
            {
                var post = new PostDataRequest();

                post.username = username;
                post.data     = data;
                DownloadData <string>("friends-post-data.php", post, (success, res) => callback(success));
            }
        public void PostDataRequestTest_can_set_content_type()
        {
            var request = new PostDataRequest("test data");

            Assert.IsTrue(request.Headers.TryGetValue("Content-type", out var contentType));

            Assert.AreEqual(contentType, "text/xml");

            Assert.AreEqual(request.RequestBody.ReadAsStringAsync().Result, "test data");
        }
示例#3
0
        public bool BindModel(HttpActionContext actionContext, ModelBindingContext bindingContext)
        {
            string request = actionContext.Request.Content.ReadAsStringAsync().Result;

            string[] lines = request.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);

            if (lines.Length < NumberOfFixedLines + 1)
            {
                addModelError(bindingContext, "Malformed data");
                return(false);
            }

            float temperature;

            if (!float.TryParse(lines[0], out temperature))
            {
                addModelError(bindingContext, "Cannot parse temperature value");
                return(false);
            }

            long uptime;

            if (!long.TryParse(lines[1], out uptime))
            {
                addModelError(bindingContext, "Cannot parse uptime value");
                return(false);
            }

            var model = new PostDataRequest
            {
                Temperature = temperature,
                Uptime      = uptime
            };

            foreach (string deviceStateLine in lines.Skip(NumberOfFixedLines))
            {
                Devices      device;
                DeviceStates state;
                if (!parseDeviceStateLine(deviceStateLine, bindingContext, out device, out state))
                {
                    return(false);
                }

                model.DeviceStates[device] = state;
            }

            bindingContext.Model = model;
            return(true);
        }
示例#4
0
        public void PostData(PostDataRequest request)
        {
            var insertTemperatureCommand = new SqlCommandInfo("INSERT INTO TemperatureLog(temperature) VALUES (@temperature)");

            insertTemperatureCommand.Parameters.Add("temperature", request.Temperature);
            _sqlExecutionHelper.ExecuteNonQuery(insertTemperatureCommand);

            var insertDiagnosticInfoCommand = new SqlCommandInfo("INSERT INTO DiagnosticInfoLog(uptime) VALUES (@uptime)");

            insertDiagnosticInfoCommand.Parameters.Add("uptime", request.Uptime);
            _sqlExecutionHelper.ExecuteNonQuery(insertDiagnosticInfoCommand);

            foreach (var deviceState in request.DeviceStates)
            {
                onDeviceStateChanged(deviceState.Key, deviceState.Value);
            }
        }
示例#5
0
        public void PostDataRequest_data_can_be_posted_and_response_can_be_formatted_and_read()
        {
            string response_data =
                @"<Response ReferenceNumber=""82e942b0-48e8-4cf4-b299-51e2b6a89a1b""
                    InboundODMFileOID=""""
                    IsTransactionSuccessful=""1""
                    SuccessStatistics=""Rave objects touched: Subjects=0; Folders=0; Forms=0; Fields=0; LogLines=0"" NewRecords=""""
                    SubjectNumberInStudy=""999"" SubjectNumberInStudySite=""23"">
             </Response>";

            var request = new PostDataRequest("post data here!");

            var mockResponse = new Mock <IRestResponse>();

            mockResponse.Setup(x => x.Content).Returns(response_data);

            var response = request.Result(mockResponse.Object) as RWSPostResponse;

            Assert.IsInstanceOfType(response, typeof(RWSPostResponse));
            Assert.AreEqual(23, response.SubjectNumberInStudySite);
            Assert.AreEqual(999, response.SubjectNumberInStudy);
        }
        public async Task PostDataRequestTest_result_can_be_parsed()
        {
            _httpTest.RespondWith(
                @"<Response ReferenceNumber=""82e942b0-48e8-4cf4-b299-51e2b6a89a1b""
              InboundODMFileOID=""""
              IsTransactionSuccessful=""1""
              SuccessStatistics=""Rave objects touched: Subjects=1; Folders=2; Forms=3; Fields=4; LogLines=5"" NewRecords=""6""
              SubjectNumberInStudy=""7"" SubjectNumberInStudySite=""8"">
            </Response>");

            var rwsConnection = new RwsConnection("innovate", "test", "password");
            var request       = new PostDataRequest("test data");
            var result        = await rwsConnection.SendRequestAsync(request) as RwsPostResponse;

            Assert.IsInstanceOfType(result, typeof(RwsPostResponse));
            Assert.AreEqual(result.SubjectsTouched, 1);
            Assert.AreEqual(result.FoldersTouched, 2);
            Assert.AreEqual(result.FormsTouched, 3);
            Assert.AreEqual(result.FieldsTouched, 4);
            Assert.AreEqual(result.LogLinesTouched, 5);
            Assert.AreEqual(result.NewRecords, "6");
            Assert.AreEqual(result.SubjectNumberInStudy, "7");
            Assert.AreEqual(result.SubjectNumberInStudySite, "8");
        }
示例#7
0
        public void PostDataRequest_properly_builds_URL()
        {
            var req = new PostDataRequest("TEST DATA");

            Assert.IsTrue(req.UrlPath().Contains("webservice.aspx?PostODMClinicalData"));
        }
        public void PostDataRequestTest_can_properly_construct_a_url()
        {
            var request = new PostDataRequest("test data");

            Assert.AreEqual("webservice.aspx?PostODMClinicalData", request.UrlPath());
        }