Example #1
0
        protected override void GetTenantAndUserName(TestContext testContext, out string tenantId, out string companyName, out string userName)
        {
            LoadTestUserContext loadTestUserContext = testContext.GetLoadTestUserContext();

            tenantId    = DefaultTenantId;
            companyName = DefaultCompanyName;
            userName    = DefaultUserName;
        }
        protected override string GetUserName(TestContext testContext)
        {
            LoadTestUserContext loadTestUserContext = testContext.GetLoadTestUserContext();

            if (loadTestUserContext != null)
            {
                // add the load test user id as a suffix to the default user name
                return(String.Format("{0}{1}", DefaultNAVUserName, loadTestUserContext.UserId));
            }

            // empty user name will use the default user name, this is the case when running as unit tests
            return(DefaultNAVUserName);
        }
Example #3
0
        public override void PreWebTest(object sender, PreWebTestEventArgs e)
        {
            if (e.WebTest.Context.ContainsKey("$LoadTestUserContext"))
            {
                LoadTestUserContext loadTestUserContext =
                    e.WebTest.Context["$LoadTestUserContext"] as LoadTestUserContext;

                if (e.WebTest.Context[Constants.Context_ReuseConvId].ToString().Equals("true", StringComparison.OrdinalIgnoreCase))
                {
                    if (loadTestUserContext.ContainsKey(Constants.Context_ConvId))
                    {
                        e.WebTest.Context[Constants.Context_ConvId] = loadTestUserContext[Constants.Context_ConvId].ToString();
                    }
                }

                if (e.WebTest.Context[Constants.Context_ReuseUserId].ToString().Equals("true", StringComparison.OrdinalIgnoreCase))
                {
                    if (loadTestUserContext.ContainsKey(Constants.Context_UserId))
                    {
                        e.WebTest.Context[Constants.Context_UserId] = loadTestUserContext[Constants.Context_UserId].ToString();
                    }
                }

                if (loadTestUserContext.ContainsKey(Constants.Context_AccessToken))
                {
                    e.WebTest.Context[Constants.Context_AccessToken] = loadTestUserContext[Constants.Context_AccessToken].ToString();
                }
            }
            else
            {
                if (!string.IsNullOrEmpty(Helpers.ConvId))
                {
                    e.WebTest.Context[Constants.Context_ConvId] = Helpers.ConvId;
                }

                if (!string.IsNullOrEmpty(Helpers.AccessToken))
                {
                    e.WebTest.Context[Constants.Context_AccessToken] = Helpers.AccessToken;
                }
            }

            if (!e.WebTest.Context.ContainsKey("JwtToken"))
            {
                App app = new App()
                {
                    AppId  = e.WebTest.Context["BotAppId"].ToString(),
                    AppKey = e.WebTest.Context["BotAppKey"].ToString()
                };
                e.WebTest.Context["JwtToken"] = Helpers.GetJwtToken(app);
            }
        }
        protected override void GetTenantAndUserName(TestContext testContext, out string tenantId, out string companyName, out string userName)
        {
            LoadTestUserContext loadTestUserContext = testContext.GetLoadTestUserContext();

            tenantId    = DefaultTenantId;
            companyName = DefaultCompanyName;
            userName    = WindowsIdentity.GetCurrent().Name;

            if (loadTestUserContext != null)
            {
                // add the load test user id as a suffix to the default tenant name
                // tenantId = String.Format("{0}{1}", DefaultTenantId, loadTestUserContext.UserId);
            }
        }
        /// <summary>
        /// Get a unique id for the current virtual user or 0 if there is no load test context
        /// </summary>
        /// <param name="testContext">current test context</param>
        /// <returns></returns>
        protected static int GetTestUserId(TestContext testContext)
        {
            LoadTestUserContext loadTestUserContext = testContext.GetLoadTestUserContext();

            return((loadTestUserContext != null) ? loadTestUserContext.UserId : 0);
        }
Example #6
0
        public override void PostWebTest(object sender, PostWebTestEventArgs e)
        {
            base.PostWebTest(sender, e);

            if (e.WebTest.Context.ContainsKey("$LoadTestUserContext"))
            {
                LoadTestUserContext loadTestUserContext =
                    e.WebTest.Context["$LoadTestUserContext"] as LoadTestUserContext;

                if (e.WebTest.Context[Constants.Context_ReuseConvId].ToString().Equals("true", StringComparison.OrdinalIgnoreCase))
                {
                    if (e.WebTest.Context.ContainsKey(Constants.Context_ConvId))
                    {
                        loadTestUserContext[Constants.Context_ConvId] = e.WebTest.Context[Constants.Context_ConvId].ToString();
                    }
                }

                if (e.WebTest.Context[Constants.Context_ReuseUserId].ToString().Equals("true", StringComparison.OrdinalIgnoreCase))
                {
                    if (e.WebTest.Context.ContainsKey(Constants.Context_UserId))
                    {
                        loadTestUserContext[Constants.Context_UserId] = e.WebTest.Context[Constants.Context_UserId].ToString();
                    }
                }

                if (e.WebTest.Context.ContainsKey(Constants.Context_AccessToken))
                {
                    loadTestUserContext[Constants.Context_AccessToken] = e.WebTest.Context[Constants.Context_AccessToken].ToString();
                }
            }
            else
            {
                if (e.WebTest.Context[Constants.Context_ReuseConvId].ToString().Equals("true", StringComparison.OrdinalIgnoreCase))
                {
                    Helpers.ConvId = e.WebTest.Context[Constants.Context_ConvId].ToString();
                }

                Helpers.AccessToken = e.WebTest.Context[Constants.Context_AccessToken].ToString();
            }

            string testStatus = e.WebTest.Context.ContainsKey(Constants.Context_TestStatus)
                ? e.WebTest.Context[Constants.Context_TestStatus].ToString()
                : "false";

            if (!e.WebTest.Context.ContainsKey(Constants.Context_MessagePostedToBot))
            {
                e.WebTest.Context[Constants.Context_ActualResult] = "Not able to submit message";
                testStatus = "false";
            }

            string convId = e.WebTest.Context.ContainsKey(Constants.Context_ConvId)
                ? e.WebTest.Context[Constants.Context_ConvId].ToString()
                : string.Empty;

            if (string.IsNullOrEmpty(convId))
            {
                convId = "conversation couldn't be created";
            }

            if (e.WebTest.Context.ContainsKey(Constants.Context_MessageId) &&
                !string.IsNullOrEmpty(e.WebTest.Context[Constants.Context_MessageId].ToString()))
            {
                string utterance    = e.WebTest.Context[Constants.Context_Utterance].ToString();
                string luisQnA      = e.WebTest.Context[Constants.Context_LuisQnA].ToString();
                string businessArea = e.WebTest.Context[Constants.Context_BusinessArea].ToString();

                string actual = e.WebTest.Context.ContainsKey(Constants.Context_ActualResult)
                    ? e.WebTest.Context[Constants.Context_ActualResult].ToString()
                    : string.Empty;
                string testMatch = e.WebTest.Context.ContainsKey(Constants.Context_TestMatch)
                    ? e.WebTest.Context[Constants.Context_TestMatch].ToString()
                    : "false";
                string duration = e.WebTest.Context.ContainsKey(Constants.Context_Duration)
                    ? e.WebTest.Context[Constants.Context_Duration].ToString()
                    : "0";
                string message = e.WebTest.Context.ContainsKey(Constants.Context_TestStatusMessage)
                    ? e.WebTest.Context[Constants.Context_TestStatusMessage].ToString()
                    : string.Empty;
                string activityCount = e.WebTest.Context.ContainsKey(Constants.Context_ActivityCount)
                    ? e.WebTest.Context[Constants.Context_ActivityCount].ToString()
                    : "0";
                string messageId = e.WebTest.Context.ContainsKey(Constants.Context_MessageId)
                    ? e.WebTest.Context[Constants.Context_MessageId].ToString()
                    : "Not able to submit messsage";

                string userId = e.WebTest.Context.ContainsKey(Constants.Context_UserId)
                    ? e.WebTest.Context[Constants.Context_UserId].ToString()
                    : "User XX";

                if (!string.IsNullOrEmpty(message))
                {
                    actual = message;
                }

                e.WebTest.Outcome = testStatus.Equals("true", StringComparison.OrdinalIgnoreCase)
                    ? Outcome.Pass
                    : Outcome.Fail;

                ReportHelper.WriteLog(convId, utterance, messageId, userId, string.Empty, actual, testStatus, testMatch,
                                      duration, activityCount, businessArea, luisQnA);
            }
        }