コード例 #1
0
        public void Validate_New_Instance_Creates_Object_Successfully()
        {
            //Arrange
            const string PageName      = "ViajaNet - Checkout";
            const string VendorName    = "Chrome";
            const string VendorVersion = "58.34.43.2019";

            var parameters = new Dictionary <string, List <string> >
            {
                { "bar", new List <string> {
                      "true"
                  } }
            };

            //Act
            var vendor  = new AnalyticsRequestPayload.VendorRequestPayload(VendorName, VendorVersion);
            var payload = new AnalyticsRequestPayload(PageName, vendor, parameters);

            //Assert
            Assert.NotNull(vendor);
            Assert.NotNull(payload);
            Assert.Equal(PageName, payload.PageName);
            Assert.Equal(VendorName, payload.Vendor.Name);
            Assert.Equal(VendorVersion, payload.Vendor.Version);
        }
コード例 #2
0
        public void Validate_Adding_IP_As_IPAddress_To_Instance_Success()
        {
            //Arrange
            const string PageName      = "ViajaNet - Checkout";
            const string VendorName    = "Chrome";
            const string VendorVersion = "58.34.43.2019";
            const string IP            = "127.0.0.0";

            var vendor = new AnalyticsRequestPayload.VendorRequestPayload(VendorName, VendorVersion);

            var parameters = new Dictionary <string, List <string> >
            {
                { "bar", new List <string> {
                      "true"
                  } }
            };

            var payload = new AnalyticsRequestPayload(PageName, vendor, parameters);

            //Act
            payload.AddIp(IPAddress.Parse(IP));

            //Assert
            Assert.NotNull(vendor);
            Assert.NotNull(payload);
            Assert.Equal(IP, payload.IP);
        }
コード例 #3
0
        public async Task<IActionResult> CreateAnalyticalHitAsync([FromBody] AnalyticsRequestPayload data)
        {
            var ipAddress = this.HttpContext.Connection.RemoteIpAddress;

            data.AddIp(ipAddress);

            string id = await this._analyticsAppService.CreateAsync(data.ToDto());

            return new CreatedResult
            (
                $"{this.HttpContext.Request.Path}?ip={ipAddress}",
                new SuccessResult<AnalyticsCreationResponsePayload>("Analytics hit created succesfully.", new AnalyticsCreationResponsePayload(id))
            );
        }