public SchemeControllerSpec() { this.testQueuer = Substitute.For <IRequestQueuer <SCHEMES_QUEUE_CONFIG> >(); this.testServer = new TestServer(new WebHostBuilder() .ConfigureServices(x => x.AddAutofac()) .ConfigureTestServices(services => services .AddSingleton <IRequestQueuer <SCHEMES_QUEUE_CONFIG> >(this.testQueuer)) .UseSetting(nameof(SCHEMES_QUEUE_CONFIG), JsonConvert.SerializeObject( new SCHEMES_QUEUE_CONFIG { TopicName = "test", ProducerSettings = new Dictionary <string, object> { ["bootstrap.servers"] = "test:123" } })) .UseSetting(nameof(CorsConfig.ALLOWED_ORIGINS), JsonConvert.SerializeObject(new CorsConfig { ALLOWED_ORIGINS = "localhost" })) .UseStartup <StartupStub>()); this.testClient = this.testServer.CreateClient(); this.testClient.DefaultRequestHeaders.Add("api-version", "1.0"); this.testClient.DefaultRequestHeaders.Add("schema-version", SchemaVersion.Latest.ToString()); }
public LikesController( ILogger <LikesController> logger, IRequestQueuer <LIKES_QUEUE_CONFIG> requestQueuer) { this.logger = logger; this.requestQueuer = requestQueuer; }
public FavoritesController( ILogger <FavoritesController> logger, IRequestQueuer <FAVORITES_QUEUE_CONFIG> requestQueuer) { this.logger = logger; this.requestQueuer = requestQueuer; }
public SchemeController( ILogger <SchemeController> logger, IRequestQueuer <SCHEMES_QUEUE_CONFIG> requestQueuer) { this.logger = logger; this.requestQueuer = requestQueuer; }
/// <summary> /// Initializes a new instance of the <see cref="DefaultDiscordRequestHandler"/> class. /// </summary> /// <param name="serializer">Serializer used to serialize/deserialize data between formats.</param> /// <param name="responseService">Service that listens for responses to requests.</param> /// <param name="queuer">Service used to queue requests.</param> /// <param name="tracing">Service for tracing requests across microservices.</param> /// <param name="logger">Logger used for logging info to some destination(s).</param> public DefaultDiscordRequestHandler( ISerializer serializer, IResponseService responseService, IRequestQueuer queuer, ITracingService tracing, ILogger <DefaultDiscordRequestHandler> logger ) { this.serializer = serializer; this.responseService = responseService; this.queuer = queuer; this.tracing = tracing; this.logger = logger; }
public async Task ShouldQueueARequestWithNoResponseURL( Snowflake recipientId, Endpoint endpoint, object request, Dictionary <string, string> parameters, Dictionary <string, string> headers, [Frozen, Substitute] IResponseService server, [Frozen, Substitute] IRequestQueuer queuer, [Target] DefaultDiscordRequestHandler handler, CancellationToken cancellationToken ) { await handler.Handle(endpoint, request, parameters, headers, cancellationToken); await queuer.Received().QueueRequest(Is <Request>(req => req.ResponseURL == null), Is(cancellationToken)); }
public async Task ShouldQueueARequestWithTheParameters( Snowflake recipientId, Endpoint endpoint, object request, Dictionary <string, string> parameters, Dictionary <string, string> headers, [Frozen, Substitute] IResponseService server, [Frozen, Substitute] IRequestQueuer queuer, [Target] DefaultDiscordRequestHandler handler, CancellationToken cancellationToken ) { await handler.Handle(endpoint, request, parameters, headers, cancellationToken); await queuer.Received().QueueRequest(Any <Request>(), Is(cancellationToken)); var receivedRequest = TestUtils.GetArg <Request>(queuer, nameof(IRequestQueuer.QueueRequest), 0); receivedRequest.Parameters.Should().BeEquivalentTo(parameters); }
public async Task ShouldQueueARequestWithTheSerializedBody( Snowflake recipientId, Endpoint endpoint, object request, string body, Dictionary <string, string> parameters, Dictionary <string, string> headers, [Frozen, Substitute] ISerializer serializer, [Frozen, Substitute] IResponseService server, [Frozen, Substitute] IRequestQueuer queuer, [Target] DefaultDiscordRequestHandler handler, CancellationToken cancellationToken ) { serializer.Serialize(Any <object>()).Returns(body); await handler.Handle <object, object>(endpoint, request, parameters, headers, cancellationToken); await queuer.Received().QueueRequest(Any <Request>(), Is(cancellationToken)); var receivedRequest = TestUtils.GetArg <Request>(queuer, nameof(IRequestQueuer.QueueRequest), 0); receivedRequest.RequestBody.Should().Be(body); }