public IndexModule(IPbApiClient pbApiClient, IEntryPoint entryPoint, IConnectToBilling billingConnector) { Get["/"] = parameters => { var token = Context.AuthorizationHeaderToken(); var metaData = pbApiClient.Get<ApiMetaData>(token, "getUserMetaData"); return Response.AsJson(metaData); }; Post["/action/{action}"] = parameters => { var token = Context.AuthorizationHeaderToken(); var packageResponse = pbApiClient.Get<Package>(token, "package/" + parameters.action); var package = Mapper.DynamicMap<IPackage>(packageResponse); var vehicle = this.Bind<Vechicle>(); var request = new LicensePlateNumberRequest(package, new User(), new Context(), vehicle, new AggregationInformation()); var responses = entryPoint.GetResponsesFromLace(request); var packageIdentifier = new PackageIdentifier(packageResponse.Id, new VersionIdentifier(1)); var requestIdentifier = new RequestIdentifier(Guid.NewGuid(), SystemIdentifier.CreateApi()); var userIdentifier = new UserIdentifier(((IEntity)Context.CurrentUser).Id); var transactionContext = new TransactionContext(Guid.NewGuid(), userIdentifier, requestIdentifier); var createTransaction = new CreateTransaction(packageIdentifier, transactionContext); billingConnector.CreateTransaction(createTransaction); return Response.AsJson(responses.First().Response); }; }
public when_pinging_the_billing_api_and_the_url_is_not_found() { client = new Mock<IRestClient>(); client.Setup(c => c.Execute(It.IsAny<IRestRequest>())).Returns(new RestResponse() { StatusCode = HttpStatusCode.NotFound }); connector = new DefaultBillingConnector(new TestBillingConnectorConfiguration(), client.Object); request = new PingRequest(new SystemIdentifier("TEST")); }