示例#1
0
        public void Act_Partitioned_By_ID()
        {
            using (var httpTest = new HttpTest())
            {
                var qs = new QueryService(_cfg);

                var act = qs.CreateActual()
                          .ForMarketData(new [] {
                    100001250, 100001251, 100001252, 100001253, 100001254,
                    100001255, 100001256, 100001257, 100001258, 100001259,
                    100001260, 100001261, 100001262, 100001263, 100001264,
                    100001265, 100001266, 100001267, 100001268, 100001269,
                    100001270, 100001271, 100001272, 100001273, 100001274,
                    100001275, 100001276, 100001277, 100001278, 100001279,
                    100001280, 100001281, 100001282, 100001283, 100001284,
                    100001285, 100001286, 100001287, 100001289, 100001290,
                    100001291, 100001292, 100001293, 100001294, 100001295,
                    100001296, 100001297, 100001298, 100001299, 100001301,
                    100001302, 100001303, 100001304, 100001305, 100001306,
                    100001307, 100001308, 100001309, 100001310, 100001311,
                    100001312, 100001313, 100001314, 100001315, 100001315
                })
                          .InGranularity(Granularity.Day)
                          .InRelativePeriodRange(Period.FromWeeks(2), Period.FromDays(20))
                          .ExecuteAsync().ConfigureAwait(true).GetAwaiter().GetResult();

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}query/v1.0/ts/Day/P2W/P20D")
                .WithVerb(HttpMethod.Get)
                .WithQueryParamMultiple("id", new [] {
                    100001250, 100001251, 100001252, 100001253, 100001254,
                    100001255, 100001256, 100001257, 100001258, 100001259,
                    100001260, 100001261, 100001262, 100001263, 100001264,
                    100001265, 100001266, 100001267, 100001268, 100001269,
                    100001270, 100001271, 100001272, 100001273, 100001274
                })
                .Times(1);

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}query/v1.0/ts/Day/P2W/P20D")
                .WithVerb(HttpMethod.Get)
                .WithQueryParamMultiple("id", new [] {
                    100001275, 100001276, 100001277, 100001278, 100001279,
                    100001280, 100001281, 100001282, 100001283, 100001284,
                    100001285, 100001286, 100001287, 100001289, 100001290,
                    100001291, 100001292, 100001293, 100001294, 100001295,
                    100001296, 100001297, 100001298, 100001299, 100001301
                })
                .Times(1);

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}query/v1.0/ts/Day/P2W/P20D")
                .WithVerb(HttpMethod.Get)
                .WithQueryParamMultiple("id", new [] {
                    100001302, 100001303, 100001304, 100001305, 100001306,
                    100001307, 100001308, 100001309, 100001310, 100001311,
                    100001312, 100001313, 100001314, 100001315, 100001315
                })
                .Times(1);
            }
        }
示例#2
0
        public void MasExtractionWindow_RelativeIntervalChange()
        {
            using (var httpTest = new HttpTest())
            {
                var qs = new QueryService(_cfg);

                var partialQuery = qs.CreateMarketAssessment()
                                   .ForMarketData(new [] { 100000001 })
                                   .ForProducts(new [] { "M+1", "GY+1" })
                                   .InRelativeInterval(RelativeInterval.RollingMonth);


                var test1 = partialQuery
                            .ExecuteAsync().Result;;

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}query/v1.0/mas/RollingMonth")
                .WithQueryParam("id", 100000001)
                .WithQueryParamMultiple("p", new [] { "M+1", "GY+1" })
                .WithVerb(HttpMethod.Get)
                .Times(1);

                var test2 = partialQuery
                            .InRelativePeriod(Period.FromDays(5))
                            .ExecuteAsync().Result;;

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}query/v1.0/mas/P5D")
                .WithQueryParam("id", 100000001)
                .WithQueryParamMultiple("p", new [] { "M+1", "GY+1" })
                .WithVerb(HttpMethod.Get)
                .Times(1);

                var test3 = partialQuery
                            .InRelativePeriodRange(Period.FromWeeks(2), Period.FromDays(20))
                            .ExecuteAsync().Result;;

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}query/v1.0/mas/P2W/P20D")
                .WithQueryParam("id", 100000001)
                .WithQueryParamMultiple("p", new [] { "M+1", "GY+1" })
                .WithVerb(HttpMethod.Get)
                .Times(1);

                var test4 = partialQuery
                            .InAbsoluteDateRange(new LocalDate(2018, 1, 1), new LocalDate(2018, 1, 10))
                            .ExecuteAsync().Result;

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}query/v1.0/mas/2018-01-01/2018-01-10")
                .WithQueryParam("id", 100000001)
                .WithQueryParamMultiple("p", new [] { "M+1", "GY+1" })
                .WithVerb(HttpMethod.Get)
                .Times(1);
            }
        }
        public void AuctMultipleMarketDataWindow()
        {
            using (var httpTest = new HttpTest())
            {
                var qs = new QueryService(_cfg);

                var act = qs.CreateAuction()
                          .ForMarketData(new [] { 100000001, 100000002, 100000003 })
                          .InRelativePeriodRange(Period.FromWeeks(2), Period.FromDays(20))
                          .ExecuteAsync().Result;

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}query/v1.0/auction/P2W/P20D")
                .WithVerb(HttpMethod.Get)
                .WithQueryParamMultiple("id", new [] { 100000001, 100000002, 100000003 })
                .Times(1);
            }

            using (var httpTest = new HttpTest())
            {
                var qs = new QueryService(_cfg);

                var act = qs.CreateAuction()
                          .ForMarketData(new [] { 100000001, 100000002, 100000003 })
                          .InRelativePeriodRange(Period.FromWeeks(2), Period.FromMonths(6))
                          .ExecuteAsync().Result;

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}query/v1.0/auction/P2W/P6M")
                .WithVerb(HttpMethod.Get)
                .WithQueryParamMultiple("id", new [] { 100000001, 100000002, 100000003 })
                .Times(1);
            }
        }
示例#4
0
        public void FillerCustomValueBBPBBQBAPBAQBidAskInAbsoluteDateRangeExtractionWindow()
        {
            using (var httpTest = new HttpTest())
            {
                var qs = new QueryService(_cfg);

                var bask = qs.CreateBidAsk()
                           .ForMarketData(new [] { 100000001 })
                           .ForProducts(new [] { "M+1", "GY+1" })
                           .InAbsoluteDateRange(new LocalDate(2018, 1, 1), new LocalDate(2018, 1, 10))
                           .WithFillCustomValue(new BidAskValue {
                    BestBidPrice = 456, BestBidQuantity = 789, BestAskPrice = 321, BestAskQuantity = 654
                })
                           .ExecuteAsync().Result;

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}query/v1.0/ba/2018-01-01/2018-01-10")
                .WithQueryParam("id", 100000001)
                .WithQueryParamMultiple("p", new [] { "M+1", "GY+1" })
                .WithQueryParam("fillerK", FillerKindType.CustomValue)
                .WithQueryParam("fillerDVbbp", 456)
                .WithQueryParam("fillerDVbap", 321)
                .WithQueryParam("fillerDVbbq", 789)
                .WithQueryParam("fillerDVbaq", 654)
                .WithVerb(HttpMethod.Get)
                .Times(1);
            }
        }
示例#5
0
        public void FillerCustomValueOHLCMasInAbsoluteDateRangeExtractionWindow()
        {
            using (var httpTest = new HttpTest())
            {
                var qs = new QueryService(_cfg);

                var mas = qs.CreateMarketAssessment()
                          .ForMarketData(new [] { 100000001 })
                          .ForProducts(new [] { "M+1", "GY+1" })
                          .InAbsoluteDateRange(new LocalDate(2018, 1, 1), new LocalDate(2018, 1, 10))
                          .WithFillCustomValue(new MarketAssessmentValue {
                    Open = 456, Close = 789, High = 321, Low = 654
                })
                          .ExecuteAsync().Result;

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}query/v1.0/mas/2018-01-01/2018-01-10")
                .WithQueryParam("id", 100000001)
                .WithQueryParamMultiple("p", new [] { "M+1", "GY+1" })
                .WithQueryParam("fillerK", FillerKindType.CustomValue)
                .WithQueryParam("fillerDVo", 456)
                .WithQueryParam("fillerDVc", 789)
                .WithQueryParam("fillerDVh", 321)
                .WithQueryParam("fillerDVl", 654)
                .WithVerb(HttpMethod.Get)
                .Times(1);
            }
        }
示例#6
0
        public void MarketData_RegisterMarketDataAsync()
        {
            using (var httpTest = new HttpTest())
            {
                var mds = new MarketDataService(_cfg);

                var marketDataEntity = new MarketDataEntity.Input()
                {
                    ProviderName        = "Test",
                    MarketDataName      = "TestName",
                    OriginalGranularity = Granularity.Day,
                    OriginalTimezone    = "CET",
                    AggregationRule     = AggregationRule.Undefined,
                    Type = MarketDataType.VersionedTimeSerie
                };

                var mdq = mds.RegisterMarketDataAsync(marketDataEntity).ConfigureAwait(true).GetAwaiter().GetResult();

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}v2.1/marketdata/entity")
                .WithVerb(HttpMethod.Post)
                .WithContentType("application/x.msgpacklz4")
                .WithHeadersTest()
                .Times(1);
            }
        }
        public void UpsertUnitConfigurationMapping()
        {
            using (var httpTest = new HttpTest())
            {
                var qs = new GMEPublicOfferService(_cfg);

                var unitCfg = new UnitConfigurationDto()
                {
                    Unit     = "unitName",
                    Mappings = new List <GenerationTypeMapping>()
                    {
                        new GenerationTypeMapping()
                        {
                            From           = new LocalDate(2019, 1, 1),
                            To             = new LocalDate(2020, 1, 1),
                            GenerationType = GenerationType.COAL
                        }
                    }
                };

                var req = qs.UpsertUnitConfigurationMappingAsync(unitCfg)
                          .ConfigureAwait(true).GetAwaiter().GetResult();

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}gmepublicoffer/v1.0/unitconfigurationmappings/{unitCfg.Unit}")
                .WithVerb(HttpMethod.Put)
                .Times(1);
            }
        }
示例#8
0
        public void TimeTransform_UpdateTimeTransformBaseAsync()
        {
            using (var httpTest = new HttpTest())
            {
                var mds = new MarketDataService(_cfg);

                var timeTransformEntity = new TimeTransformSimpleShift()
                {
                    ID            = 1,
                    Name          = "TimeTName",
                    ETag          = Guid.Empty,
                    DefinedBy     = TransformDefinitionType.System,
                    Period        = Granularity.Year,
                    PositiveShift = "",
                    NegativeShift = "P3M",
                };

                var mdq = mds.UpdateTimeTransformBaseAsync(timeTransformEntity).ConfigureAwait(true).GetAwaiter().GetResult();

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}v2.1/timeTransform/entity/1")
                .WithVerb(HttpMethod.Put)
                .WithContentType("application/x.msgpacklz4")
                .WithHeadersTest()
                .Times(1);
            }
        }
示例#9
0
        public void UpsertCurve_UpsertCurveDataAsync_Versioned()
        {
            using (var httpTest = new HttpTest())
            {
                var mds = new MarketDataService(_cfg);

                //Create Version
                var data = new UpsertCurveData()
                {
                    ID           = new MarketDataIdentifier("test", "testName"),
                    Timezone     = "CET",
                    DownloadedAt = SystemClock.Instance.GetCurrentInstant(),
                    Rows         = new Dictionary <LocalDateTime, double?>()
                    {
                        { new LocalDateTime(2018, 01, 01, 0, 0), 21.4 }
                    },
                    Version = new LocalDateTime(2018, 09, 25, 12, 0, 0, 123).PlusNanoseconds(100)
                };

                mds.UpsertCurveDataAsync(data).ConfigureAwait(true).GetAwaiter().GetResult();

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}v2.1/marketdata/upsertdata")
                .WithVerb(HttpMethod.Post)
                .Times(1);
            }
        }
示例#10
0
        public void UpsertCurve_UpsertCurveDataAsync_MarketAssessment()
        {
            using (var httpTest = new HttpTest())
            {
                var mds = new MarketDataService(_cfg);

                var data = new UpsertCurveData()
                {
                    ID               = new MarketDataIdentifier("test", "testName"),
                    Timezone         = "CET",
                    DownloadedAt     = SystemClock.Instance.GetCurrentInstant(),
                    MarketAssessment = new Dictionary <LocalDateTime, IDictionary <string, MarketAssessmentValue> >()
                };

                var localDateTime = new LocalDateTime(2018, 09, 24, 00, 00);

                data.MarketAssessment.Add(localDateTime, new Dictionary <string, MarketAssessmentValue>());
                data.MarketAssessment[localDateTime].Add("test", new MarketAssessmentValue());

                mds.UpsertCurveDataAsync(data).ConfigureAwait(true).GetAwaiter().GetResult();

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}v2.1/marketdata/upsertdata")
                .WithVerb(HttpMethod.Post)
                .Times(1);
            }
        }
示例#11
0
        public void UpsertCurve_UpsertCurveDataAsync_Auction()
        {
            using (var httpTest = new HttpTest())
            {
                var mds = new MarketDataService(_cfg);

                var data = new UpsertCurveData()
                {
                    ID           = new MarketDataIdentifier("test", "testName"),
                    Timezone     = "CET",
                    DownloadedAt = SystemClock.Instance.GetCurrentInstant(),
                    AuctionRows  = new Dictionary <LocalDateTime, AuctionBids>()
                };

                var localDateTime = new LocalDateTime(2018, 09, 24, 00, 00);
                var bid           = new List <AuctionBidValue>();
                var offer         = new List <AuctionBidValue>();
                bid.Add(new AuctionBidValue(100, 10));
                offer.Add(new AuctionBidValue(120, 12));

                data.AuctionRows.Add(localDateTime, new AuctionBids(localDateTime, bid.ToArray(), offer.ToArray()));

                mds.UpsertCurveDataAsync(data).ConfigureAwait(true).GetAwaiter().GetResult();

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}v2.1/marketdata/upsertdata")
                .WithVerb(HttpMethod.Post)
                .Times(1);
            }
        }
示例#12
0
        public void Operations_PerformOperationsAsync_ProviderDescription()
        {
            using (var httpTest = new HttpTest())
            {
                var mds = new MarketDataService(_cfg);

                var operations = new Operations()
                {
                    IDS = new HashSet <MarketDataETag>()
                    {
                        new MarketDataETag(0, "provaEtag")
                    },
                    OperationList = new List <OperationParams>()
                    {
                        new  OperationParams()
                        {
                            Params = new OperationUpdateProviderDescription()
                            {
                                Value = "prova"
                            },
                            Type = OperationType.UpdateProviderDescription,
                        }
                    }
                };

                var mdq = mds.PerformOperationsAsync(operations).ConfigureAwait(true).GetAwaiter().GetResult();

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}v2.1/marketdata/operations")
                .WithVerb(HttpMethod.Post)
                .Times(1);
            }
        }
示例#13
0
        public void SearchFacet_SearchFacet()
        {
            using (var httpTest = new HttpTest())
            {
                Dictionary <string, string[]> filterDict = new Dictionary <string, string[]>
                {
                    { "TestKey", new [] { "TestValue" } }
                };
                var mds    = new MarketDataService(_cfg);
                var filter = new ArtesianSearchFilter
                {
                    Page       = 1,
                    PageSize   = 1,
                    SearchText = "testText",
                    Filters    = filterDict,
                    Sorts      = new List <string>()
                    {
                        "OriginalTimezone"
                    }
                };
                var mdq = mds.SearchFacetAsync(filter, false).ConfigureAwait(true).GetAwaiter().GetResult();

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}v2.1/marketdata/searchfacet")
                .WithQueryParam("pageSize", 1)
                .WithQueryParam("page", 1)
                .WithQueryParam("searchText", "testText")
                .WithQueryParam("filters", "TestKey:TestValue")
                .WithQueryParam("sorts", "OriginalTimezone")
                .WithVerb(HttpMethod.Get)
                .Times(1);
            }
        }
示例#14
0
        public void Acl_RemoveRoles()
        {
            using (var httpTest = new HttpTest())
            {
                var mds = new MarketDataService(_cfg);

                var auth = new AuthorizationPath.Input()
                {
                    Path  = "",
                    Roles = new List <AuthorizationPrincipalRole>()
                    {
                        new AuthorizationPrincipalRole()
                        {
                            Role          = "Role",
                            InheritedFrom = "InheritedFrom",
                            Principal     = new Principal()
                            {
                                PrincipalId   = "Id",
                                PrincipalType = PrincipalType.User
                            }
                        }
                    }
                };

                mds.RemoveRoles(auth).ConfigureAwait(true).GetAwaiter().GetResult();

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}v2.1/acl/roles")
                .WithVerb(HttpMethod.Delete)
                .WithContentType("application/x.msgpacklz4")
                .WithHeadersTest()
                .Times(1);
            }
        }
示例#15
0
        public void MasExtractionWindow_MktChange()
        {
            using (var httpTest = new HttpTest())
            {
                var qs = new QueryService(_cfg);

                var partialQuery = qs.CreateMarketAssessment()
                                   .ForMarketData(new [] { 100000001 })
                                   .ForProducts(new [] { "M+1", "GY+1" })
                                   .InRelativeInterval(RelativeInterval.RollingMonth);


                var test1 = partialQuery
                            .ExecuteAsync().Result;;

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}query/v1.0/mas/RollingMonth")
                .WithQueryParam("id", 100000001)
                .WithQueryParamMultiple("p", new [] { "M+1", "GY+1" })
                .WithVerb(HttpMethod.Get)
                .Times(1);

                var test2 = partialQuery
                            .ForFilterId(1)
                            .ExecuteAsync().Result;;

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}query/v1.0/mas/RollingMonth")
                .WithQueryParam("filterId", 1)
                .WithQueryParamMultiple("p", new [] { "M+1", "GY+1" })
                .WithVerb(HttpMethod.Get)
                .Times(1);

                var test3 = partialQuery
                            .ForMarketData(new [] { 100000004, 100000005, 100000006 })
                            .ExecuteAsync().Result;;

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}query/v1.0/mas/RollingMonth")
                .WithQueryParamMultiple("id", new [] { 100000004, 100000005, 100000006 })
                .WithQueryParamMultiple("p", new [] { "M+1", "GY+1" })
                .WithVerb(HttpMethod.Get)
                .Times(1);
            }
        }
示例#16
0
        public void MarketData_ReadMarketDataRegistryAsync()
        {
            using (var httpTest = new HttpTest())
            {
                var mds = new MarketDataService(_cfg);

                var mdq = mds.ReadMarketDataRegistryAsync(100000001).ConfigureAwait(true).GetAwaiter().GetResult();

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}v2.1/marketdata/entity/100000001")
                .WithVerb(HttpMethod.Get)
                .Times(1);
            }
        }
示例#17
0
        public void ApiKey_ReadApiKeyByIdAsync()
        {
            using (var httpTest = new HttpTest())
            {
                var mds = new MarketDataService(_cfg);

                var mdq = mds.ReadApiKeyByIdAsync(1).ConfigureAwait(true).GetAwaiter().GetResult();

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}v2.1/apikey/entity/1")
                .WithVerb(HttpMethod.Get)
                .WithHeadersTest()
                .Times(1);
            }
        }
示例#18
0
        public void TimeTransform_DeleteTimeTransformSimpleShift()
        {
            using (var httpTest = new HttpTest())
            {
                var mds = new MarketDataService(_cfg);

                mds.DeleteTimeTransformSimpleShiftAsync(1).ConfigureAwait(true).GetAwaiter().GetResult();

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}v2.1/timeTransform/entity/1")
                .WithVerb(HttpMethod.Delete)
                .WithHeadersTest()
                .Times(1);
            }
        }
示例#19
0
        public void Admin_ReadAuthGroup()
        {
            using (var httpTest = new HttpTest())
            {
                var mds = new MarketDataService(_cfg);

                mds.ReadAuthGroup(1).ConfigureAwait(true).GetAwaiter().GetResult();

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}v2.1/group/1")
                .WithVerb(HttpMethod.Get)
                .WithHeadersTest()
                .Times(1);
            }
        }
        public void DeleteUnitConfigurationMapping()
        {
            using (var httpTest = new HttpTest())
            {
                var qs = new GMEPublicOfferService(_cfg);

                qs.DeleteUnitConfigurationMappingAsync("unitToDelete")
                .ConfigureAwait(true).GetAwaiter().GetResult();

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}gmepublicoffer/v1.0/unitconfigurationmappings/unitToDelete")
                .WithVerb(HttpMethod.Delete)
                .Times(1);
            }
        }
        public void ReadUnitConfigurationMappingVar1()
        {
            using (var httpTest = new HttpTest())
            {
                var qs = new GMEPublicOfferService(_cfg);

                var req = qs.ReadUnitConfigurationMappingAsync("myUnit")
                          .ConfigureAwait(true).GetAwaiter().GetResult();

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}gmepublicoffer/v1.0/unitconfigurationmappings/myUnit")
                .WithVerb(HttpMethod.Get)
                .Times(1);
            }
        }
示例#22
0
        public void MarketData_ReadMarketDataByProviderCurveName()
        {
            using (var httpTest = new HttpTest())
            {
                var mds = new MarketDataService(_cfg);

                var mdq = mds.ReadMarketDataRegistryAsync(new MarketDataIdentifier("TestProvider", "TestCurveName")).ConfigureAwait(true).GetAwaiter().GetResult();

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}v2.1/marketdata/entity")
                .WithQueryParam("provider", "TestProvider")
                .WithQueryParam("curveName", "TestCurveName")
                .WithVerb(HttpMethod.Get)
                .Times(1);
            }
        }
示例#23
0
        public void CustomFilter_ReadFilter()
        {
            using (var httpTest = new HttpTest())
            {
                var mds = new MarketDataService(_cfg);

                var filter = new CustomFilter();

                var mdq = mds.ReadFilter(1).ConfigureAwait(true).GetAwaiter().GetResult();

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}v2.1/filter/")
                .WithVerb(HttpMethod.Get)
                .WithHeadersTest()
                .Times(1);
            }
        }
        public void ReadOperatorsEnumVar1()
        {
            using (var httpTest = new HttpTest())
            {
                var qs = new GMEPublicOfferService(_cfg);

                var act = qs.ReadOperatorsAsync(2, 20)
                          .ConfigureAwait(true).GetAwaiter().GetResult();

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}gmepublicoffer/v1.0/enums/operators")
                .WithQueryParam("page", 2)
                .WithQueryParam("pageSize", 20)
                .WithVerb(HttpMethod.Get)
                .Times(1);
            }
        }
示例#25
0
        public void TimeTransform_ReadTimeTransform()
        {
            using (var httpTest = new HttpTest())
            {
                var mds = new MarketDataService(_cfg);

                var mdq = mds.ReadTimeTransformsAsync(1, 1, true).ConfigureAwait(true).GetAwaiter().GetResult();

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}v2.1/timeTransform/entity")
                .WithQueryParam("pageSize", 1)
                .WithQueryParam("page", 1)
                .WithQueryParam("userDefined", true)
                .WithVerb(HttpMethod.Get)
                .Times(1);
            }
        }
示例#26
0
        public void Acl_ReadRolesByPath()
        {
            using (var httpTest = new HttpTest())
            {
                var mds = new MarketDataService(_cfg);

                var path = new PathString(new[] { "Path1" });

                var mdq = mds.ReadRolesByPath(path).ConfigureAwait(true).GetAwaiter().GetResult();

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}v2.1/acl/me")
                .WithVerb(HttpMethod.Get)
                .WithHeadersTest()
                .Times(1);
            }
        }
        public void AuctInRelativePeriodExtractionWindow()
        {
            using (var httpTest = new HttpTest())
            {
                var qs = new QueryService(_cfg);

                var act = qs.CreateAuction()
                          .ForMarketData(new [] { 100000001 })
                          .InRelativePeriod(Period.FromWeeks(2))
                          .ExecuteAsync().Result;

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}query/v1.0/auction/P2W")
                .WithVerb(HttpMethod.Get)
                .WithQueryParam("id", 100000001)
                .Times(1);
            }
        }
        public void AuctInRelativePeriodRangeExtractionWindow_FilterId()
        {
            using (var httpTest = new HttpTest())
            {
                var qs = new QueryService(_cfg);

                var act = qs.CreateAuction()
                          .ForFilterId(1)
                          .InRelativePeriodRange(Period.FromWeeks(2), Period.FromDays(20))
                          .ExecuteAsync().Result;

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}query/v1.0/auction/P2W/P20D")
                .WithVerb(HttpMethod.Get)
                .WithQueryParam("filterId", 1)
                .Times(1);
            }
        }
        public void AuctInAbsoluteDateRangeExtractionWindow_FilterId()
        {
            using (var httpTest = new HttpTest())
            {
                var qs = new QueryService(_cfg);

                var act = qs.CreateAuction()
                          .ForFilterId(1)
                          .InAbsoluteDateRange(new LocalDate(2018, 1, 1), new LocalDate(2018, 1, 10))
                          .ExecuteAsync().Result;

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}query/v1.0/auction/2018-01-01/2018-01-10")
                .WithVerb(HttpMethod.Get)
                .WithQueryParam("filterId", 1)
                .Times(1);
            }
        }
        public void ExtractRawCurveBasic()
        {
            using (var httpTest = new HttpTest())
            {
                var qs = new GMEPublicOfferService(_cfg);

                var act = qs.CreateRawCurveQuery()
                          .ForDate(new LocalDate(2019, 1, 1))
                          .ForPurpose(Purpose.OFF)
                          .ForStatus(Status.INC)
                          .ExecuteAsync().Result;

                httpTest.ShouldHaveCalledPath($"{_cfg.BaseAddress}gmepublicoffer/v1.0/extract/2019-01-01/OFF/INC")
                .WithVerb(HttpMethod.Get)
                .Times(1);
            }
        }