public async Task CreateDrop()
    {
        var subscriptionManager = new SubscriptionManager("Subscription", SqlConnection);
        await subscriptionManager.Drop();

        await subscriptionManager.Create();
    }
示例#2
0
    async Task CreateTable()
    {
        #region CreateSubscriptionTable

        var manager = new SubscriptionManager("SubscriptionRouting", sqlConnection);
        await manager.Create();

        #endregion
    }
    public async Task Create()
    {
        var subscriptionManager = new SubscriptionManager("Subscription", SqlConnection);
        await subscriptionManager.Drop();

        await subscriptionManager.Create();

        await Verify(SqlConnection)
        .SchemaSettings(includeItem: name => name == "Subscription");
    }
    public async Task NoMatchingTopic()
    {
        var subscriptionManager = new SubscriptionManager("Subscription", SqlConnection);
        await subscriptionManager.Drop();

        await subscriptionManager.Create();

        await subscriptionManager.Subscribe("endpoint1", "address1", "topic1");

        await subscriptionManager.Subscribe("endpoint2", "address2", "topic2");

        await Verify(subscriptionManager.GetSubscribers("topic3"));
    }
    static async Task CreateTables()
    {
        await using var dbConnection = await ConnectionBuilder();

        var main = new QueueManager("SampleEndpoint", dbConnection);
        await main.Create();

        var delayed = new DelayedQueueManager("SampleEndpoint.Delayed", dbConnection);
        await delayed.Create();

        var subscription = new SubscriptionManager("SubscriptionRouting", dbConnection);
        await subscription.Create();
    }
示例#6
0
        public async Task <IActionResult> Create([FromBody] SubscriptionCreateRequest request)
        {
            try
            {
                var url  = new Uri(request.Url);
                var user = await userManager.GetUserAsync(User);

                var result = await subscriptionManager.Create(user, url, request.ParentFolderId);

                return(Ok(responseFactory.Success(modelFactory.ToApi(result))));
            }
            catch (UriFormatException)
            {
                return(BadRequest(responseFactory.Error("Invalid URL format!")));
            }
        }
    public async Task MultipleTopic()
    {
        var subscriptionManager = new SubscriptionManager("Subscription", SqlConnection);
        await subscriptionManager.Drop();

        await subscriptionManager.Create();

        await subscriptionManager.Subscribe("endpoint1", "address1", "topic1");

        await subscriptionManager.Subscribe("endpoint2", "address2", "topic2");

        await subscriptionManager.Subscribe("endpoint3", "address3", "topic3");

        await subscriptionManager.Subscribe("endpoint4", "address4", "topic4");

        await Verifier.Verify(subscriptionManager.GetSubscribers("topic1", "topic4"));
    }