public virtual async Task Init() { _queue = new QueueClient(AzureTestsHelper.DevelopmetStorage, "kalixleotestqueue"); await _queue.CreateIfNotExistsAsync(); _azureQueue = new AzureQueueStorage(_queue); }
public async Task ContinueConversationLaterTests() { if (StorageEmulatorHelper.CheckEmulator()) { var queueName = nameof(ContinueConversationLaterTests).ToLower(); var queue = await ContainerInit(queueName); var cr = TestAdapter.CreateConversation(nameof(ContinueConversationLaterTests)); var adapter = new TestAdapter(cr) .UseStorage(new MemoryStorage()) .UseBotState(new ConversationState(new MemoryStorage()), new UserState(new MemoryStorage())); var queueStorage = new AzureQueueStorage(ConnectionString, queueName); var dm = new DialogManager(new ContinueConversationLater() { Date = "=addSeconds(utcNow(), 2)", Value = "foo" }); dm.InitialTurnState.Set <QueueStorage>(queueStorage); await new TestFlow((TestAdapter)adapter, dm.OnTurnAsync) .Send("hi") .StartTestAsync(); await Task.Delay(2000); var messages = await queue.ReceiveMessagesAsync(); var message = messages.Value[0]; var messageJson = Encoding.UTF8.GetString(Convert.FromBase64String(message.MessageText)); var activity = JsonConvert.DeserializeObject <Activity>(messageJson); Assert.Equal(ActivityTypes.Event, activity.Type); Assert.Equal("ContinueConversation", activity.Name); Assert.Equal("foo", activity.Value); Assert.NotNull(activity.RelatesTo); var cr2 = activity.GetConversationReference(); cr.ActivityId = null; cr2.ActivityId = null; Assert.Equal(JsonConvert.SerializeObject(cr), JsonConvert.SerializeObject(cr2)); } }