public async Task <CreateQueueResult> CreateQueueAsync(string queueName, int defaultVisibilityTimeout = 30) { #region Preconditions if (queueName == null) { throw new ArgumentNullException(nameof(queueName)); } #endregion var parameters = new SqsRequest { { "Action", "CreateQueue" }, { "QueueName", queueName }, { "DefaultVisibilityTimeout", defaultVisibilityTimeout } /* in seconds */ }; var httpRequest = new HttpRequestMessage(HttpMethod.Post, Endpoint) { Content = GetPostContent(parameters) }; var responseText = await SendAsync(httpRequest).ConfigureAwait(false); return(CreateQueueResult.Parse(responseText)); }
private string createQueueTest(string name) { CreateQueueResult result = Client.CreateQueue( new CreateQueueRequest() { QueueName = name, Attributes = new Dictionary <string, string> { { SQSConstants.ATTRIBUTE_VISIBILITY_TIMEOUT, defaultTimeout } } }); Assert.IsNotNull(result); Assert.IsNotNull(result.QueueUrl); var attrResults = Client.GetQueueAttributes(new GetQueueAttributesRequest() { QueueUrl = result.QueueUrl, AttributeNames = new List <string>() { SQSConstants.ATTRIBUTE_VISIBILITY_TIMEOUT } }); Assert.AreEqual(1, attrResults.Attributes.Count); Assert.AreEqual(int.Parse(defaultTimeout), int.Parse(attrResults.Attributes[SQSConstants.ATTRIBUTE_VISIBILITY_TIMEOUT])); for (int i = 0; i < 30; i++) { var listResult = Client.ListQueues(new ListQueuesRequest() { QueueNamePrefix = prefix }); if (listResult.QueueUrls.FirstOrDefault(x => x == result.QueueUrl) != null) { return(result.QueueUrl); } Console.WriteLine("Sleeping 10s while queue is being created"); Thread.Sleep(2000); } Assert.Fail("Queue never created"); return("fail"); }
public void Test_C_CreateQueue_With_AlreadyExisting_Queue_Name_And_Check_For_Valid_Response() { bool hasCallbackArrived = false; bool actualValue = false; bool expectedValue = true; SQSResponseEventHandler <object, ResponseEventArgs> handler = null; handler = delegate(object sender, ResponseEventArgs args) { ISQSResponse result = args.Response; //Unhook from event. _client.OnSQSResponse -= handler; CreateQueueResponse response = result as CreateQueueResponse; if (null != response) { CreateQueueResult createResult = response.CreateQueueResult; if (null != createResult) { actualValue = true; } } hasCallbackArrived = true; }; //Hook to event _client.OnSQSResponse += handler; //Create request object. _client.CreateQueue(new CreateQueueRequest { QueueName = _queue_UnitTesting_1 }); EnqueueConditional(() => hasCallbackArrived); EnqueueCallback(() => Assert.IsTrue(expectedValue == actualValue)); EnqueueTestComplete(); }