Example #1
0
        public bool AddDeleteRegion(object[] oValue)
        {
            clsGeneric oGeneric = new clsGeneric();
            string     URI      = string.Empty;
            Hashtable  hTable   = new Hashtable();

            hTable = oGeneric.GetTestData(oValue);

            switch (hTable["Function"].ToString().ToUpper().Trim())
            {
            case "ADD":

                return(AddRegion(hTable));

            //break;
            case "REMOVE":
                return(RemoveRegion(hTable));

            case "UPDATE":
                return(UpdateRegion(hTable));
                //break;
            }


            return(true);
        }
Example #2
0
        public bool GetOrganization(object[] lStrValue)
        {
            try
            {
                clsGlobalVariable.strExceptionReport = string.Empty;
                string     statusCode   = string.Empty;
                string     result       = string.Empty;
                clsGeneric oGeneric     = new clsGeneric();
                string     URI          = string.Empty;
                Hashtable  htblTestData = new Hashtable();
                htblTestData = oGeneric.GetTestData(lStrValue);
                bool _Flag = false;

                clsAPIOrganization clOrgData = new clsAPIOrganization();

                GetAPICredentials oGetAPICredentials = new GetAPICredentials();
                if (htblTestData["OrgID"].ToString() != "")
                {
                    clsAPI.orgID = htblTestData["OrgID"].ToString();
                }

                oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.orgCredential.Replace("$", clsAPI.orgID), clOrgData, "H2", "", "");

                var        orgCredential = JsonConvert.DeserializeObject <GetAPICredentials>(result);
                Crypto3DES _des          = new Crypto3DES(ApplicationSettings.EComModuleEncKey());

                _ecomTransactionKey = _des.Decrypt3DES(orgCredential.TransactionKey);
                _ecomLoginKey       = _des.Decrypt3DES(orgCredential.LoginID);

                oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.apiOrg.Replace("$", clsAPI.orgID), clOrgData, htblTestData["MethodType"].ToString(), _ecomLoginKey, _ecomTransactionKey);

                if (htblTestData["TestCaseType"].ToString().ToUpper() == "POSITIVE")
                {
                    if (result.Contains("ID"))
                    {
                        var oGetOrgID = JsonConvert.DeserializeObject <clsAPIOrganization>(result);
                        if (oGetOrgID.ID.Equals(clsAPI.orgID))
                        {
                            _Flag = true;
                        }
                    }
                }
                else
                {
                    if (!result.Contains("ID"))
                    {
                        _Flag = true;
                    }
                }

                return(_Flag);
            }
            catch (Exception er)
            {
                clsException.ExceptionHandler(er, iWebdriver, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name);
                return(false);
            }
        }
Example #3
0
        public bool ActivateDeactiveCoursefromXML(object[] oValue)
        {
            clsGeneric oGeneric     = new clsGeneric();
            Hashtable  htblTestData = new Hashtable();

            htblTestData = oGeneric.GetTestData(oValue);

            return(ActivateDeactiveCourse(htblTestData["CourseName"].ToString(), htblTestData["CourseStatus"].ToString()));
        }
Example #4
0
        public bool FetchUpdateCourseDuedateSetting(object[] oValue)
        {
            clsGeneric oGeneric = new clsGeneric();
            string     URI      = string.Empty;
            Hashtable  hTable   = new Hashtable();

            hTable = oGeneric.GetTestData(oValue);

            switch (hTable["Method"].ToString().ToUpper().Trim())
            {
            case "FETCH":
                return(FetchCourseDuedateSetting(hTable));

            case "UPDATE":
                return(UpdateCourseDuedateSetting(hTable));
            }

            return(true);
        }
Example #5
0
        public bool SessionEnrollment(object[] lStrvalue)
        {
            clsGeneric oGeneric     = new clsGeneric();
            string     URI          = string.Empty;
            Hashtable  htblTestData = new Hashtable();

            htblTestData = oGeneric.GetTestData(lStrvalue);

            switch (htblTestData["UserEnrollment"].ToString().ToUpper().Trim())
            {
            case "ENROL":
                return(Enrolluser(htblTestData));

            //break;
            case "UNENROL":
                return(UnEnrolluser(htblTestData));
            }

            return(true);
        }
Example #6
0
        /// <summary>
        /// function to perform get and put request for transcript
        /// </summary>
        /// <param name="lTranscript"></param>
        /// <returns>it returns true or false for reporting function</returns>
        public bool Transcript(object[] lTranscript)
        {
            clsGeneric oGeneric = new clsGeneric();
            string     URI      = string.Empty;
            Hashtable  hTable   = new Hashtable();

            hTable = oGeneric.GetTestData(lTranscript);

            switch (hTable["Function"].ToString().ToUpper().Trim())
            {
            case "GET":
                return(GetTranscript(hTable));

            //break;
            case "UPDATE":
                return(UpdateTranscript(hTable));
                //break;
            }

            return(true);
        }
Example #7
0
        public bool APIPutUser(object[] lStrvalue)
        {
            clsGlobalVariable.strExceptionReport = string.Empty;
            string     statusCode            = string.Empty;
            string     result                = string.Empty;
            string     allCourseResultresult = string.Empty;
            string     singleCourseresult    = string.Empty;
            clsGeneric oGeneric              = new clsGeneric();
            string     URI          = string.Empty;
            Hashtable  htblTestData = new Hashtable();

            htblTestData = oGeneric.GetTestData(lStrvalue);
            bool _Flag = false;

            User userID = new User();

            GetAPICredentials oGetAPICredentials = new GetAPICredentials();

            //Get Org ID at runtime
            clsPage oPage = new clsPage(iWebdriver);

            _orgID       = oPage.GetOrganizationID();
            clsAPI.orgID = _orgID;

            Thread.Sleep(clsGlobalVariable.iWaitHigh);
            try
            {
                oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", clsAPI.apiURI + clsAPI.orgCredential.Replace("$", clsAPI.orgID), oGetAPICredentials, "H2", "", "");

                var        orgCredential = JsonConvert.DeserializeObject <GetAPICredentials>(result);
                Crypto3DES _des          = new Crypto3DES(ApplicationSettings.EComModuleEncKey());

                _ecomTransactionKey = _des.Decrypt3DES(orgCredential.TransactionKey);
                _ecomLoginKey       = _des.Decrypt3DES(orgCredential.LoginID);

                //Get User ID based on Email Address which is passed XML and update Fields Value
                if (htblTestData["Action"].ToString() == "Activate")
                {
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", clsAPI.apiURI + clsAPI.GetUserBasedonEmail.Replace("{orgID}", clsAPI.orgID).Replace("{EmailID}", htblTestData["UserEmail"].ToString() + "&userstatus=inactive"), userID, htblTestData["MethodType"].ToString(), _ecomLoginKey, _ecomTransactionKey);
                }
                else
                {
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", clsAPI.apiURI + clsAPI.GetUserBasedonEmail.Replace("{orgID}", clsAPI.orgID).Replace("{EmailID}", htblTestData["UserEmail"].ToString()), userID, htblTestData["MethodType"].ToString(), _ecomLoginKey, _ecomTransactionKey);
                }

                var singleUserData = JsonConvert.DeserializeObject <List <Users> >(result);

                string userid = singleUserData[0].ID.ToString();

                if (htblTestData["Action"].ToString() == "Update")
                {
                    UpdateUser ouser = new UpdateUser();

                    //List<UpdateUser> oList = new List<UpdateUser>();

                    XDocument doc = XDocument.Load(clsGlobalVariable.ProjectDirectory + htblTestData["FieldsToBeUpdated"].ToString());

                    List <UpdateUser> oList = doc.Root.Elements()
                                              .Select(x => new UpdateUser()
                    {
                        Key   = x.Attribute("Key").Value,
                        Value = x.Attribute("Value").Value
                    }).ToList();

                    //Update Fields Value
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "PUT", clsAPI.apiURI + clsAPI.UpdateUserProfile.Replace("{orgID}", clsAPI.orgID).Replace("{UserID}", userid), oList, htblTestData["MethodType"].ToString(), _ecomLoginKey, _ecomTransactionKey);
                }
                if (htblTestData["Action"].ToString() == "Activate")
                {
                    //Activate Inactive User
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "PUT", clsAPI.apiURI + clsAPI.UpdateUserProfile.Replace("{orgID}", clsAPI.orgID).Replace("{UserID}", userid) + "/Activate", userID, htblTestData["MethodType"].ToString(), _ecomLoginKey, _ecomTransactionKey);
                }
                if (htblTestData["Action"].ToString() == "Inactivate")
                {
                    //InActivate Active User
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "Delete", clsAPI.apiURI + clsAPI.UpdateUserProfile.Replace("{orgID}", clsAPI.orgID).Replace("{UserID}", userid) + "/Activate", userID, htblTestData["MethodType"].ToString(), _ecomLoginKey, _ecomTransactionKey);
                }


                if (statusCode == "NoContent/204")
                {
                    _Flag = true;
                }
                else if (statusCode == "OK/200")
                {
                    _Flag = true;
                }
                else
                {
                    _Flag = false;
                }
                return(_Flag);
            }
            catch (Exception e)
            {
                clsException.ExceptionHandler(e, iWebdriver, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name);

                return(false);
            }
        }
Example #8
0
        public bool GetResetPasswordUrl(object[] lStrvalue)
        {
            clsGlobalVariable.strExceptionReport = string.Empty;
            string     statusCode   = string.Empty;
            string     result       = string.Empty;
            clsGeneric oGeneric     = new clsGeneric();
            string     URI          = string.Empty;
            Hashtable  htblTestData = new Hashtable();

            htblTestData = oGeneric.GetTestData(lStrvalue);
            bool _Flag = false;

            clsCoursePushDown clData = new clsCoursePushDown();

            GetAPICredentials oGetAPICredentials = new GetAPICredentials();

            try
            {
                if (htblTestData["OrgID"].ToString() != "")
                {
                    clsAPI.orgID  = htblTestData["OrgID"].ToString();
                    clsAPI.userid = htblTestData["UserID"].ToString();
                }


                oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.orgCredential.Replace("$", clsAPI.orgID), clData, "H2", "", "");

                var        orgCredential = JsonConvert.DeserializeObject <GetAPICredentials>(result);
                Crypto3DES _des          = new Crypto3DES(ApplicationSettings.EComModuleEncKey());

                _ecomTransactionKey = _des.Decrypt3DES(orgCredential.TransactionKey);
                _ecomLoginKey       = _des.Decrypt3DES(orgCredential.LoginID);
                // clsAPI.orgID = htblTestData["OrgID"].ToString();
                oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.apiResetPasswordURL.Replace("$", clsAPI.orgID).Replace("#", clsAPI.userid), clData, htblTestData["MethodType"].ToString(), _ecomLoginKey, _ecomTransactionKey);

                if (htblTestData["TestCaseType"].ToString().ToUpper() == "POSITIVE")
                {
                    if (result.Contains("Url"))
                    {
                        ResetPasswordURL oResetPasswordURL = new ResetPasswordURL();
                        var oResetPassword = JsonConvert.DeserializeObject <ResetPasswordURL>(result);
                        iWebdriver.Navigate().GoToUrl(oResetPassword.URL);
                        _Flag = true;
                    }
                }
                else
                {
                    if (!result.Contains("Url"))
                    {
                        _Flag = true;
                    }
                }

                return(_Flag);
            }
            catch (Exception e)
            {
                clsException.ExceptionHandler(e, iWebdriver, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name);

                return(false);
            }
        }
        public bool APIExtendLicense(object[] lStrvalue)
        {
            clsGlobalVariable.strExceptionReport = string.Empty;
            string     statusCode   = string.Empty;
            string     result       = string.Empty;
            clsGeneric oGeneric     = new clsGeneric();
            string     URI          = string.Empty;
            Hashtable  htblTestData = new Hashtable();

            htblTestData = oGeneric.GetTestData(lStrvalue);
            bool _Flag = false;

            string[] strUserId   = htblTestData["UserID"].ToString().Split(',');
            string[] strCourseId = htblTestData["OrgCourseID"].ToString().Split(',');

            RootAPIExtendLicense oRootAPIExtendLicense = new RootAPIExtendLicense();

            try
            {
                List <APIExtendLicense> ol = new List <ILMS.APIExtendLicense>();
                foreach (string Course in strCourseId)
                {
                    APIExtendLicense oListAPIExtendLicense = new ILMS.APIExtendLicense();
                    List <string>    olist = new List <string>();
                    foreach (string userid in strUserId)
                    {
                        olist.Add(userid);
                    }
                    oListAPIExtendLicense.LearnerIDs  = olist;
                    oListAPIExtendLicense.OrgCourseID = Course;
                    ol.Add(oListAPIExtendLicense);
                }
                oRootAPIExtendLicense.CourseUserRecords = ol;

                GetAPICredentials oGetAPICredentials = new GetAPICredentials();


                Thread.Sleep(5000);
                do
                {
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.orgCredential.Replace("$", htblTestData["OrgID"].ToString()), oRootAPIExtendLicense, "H2", "", "");

                    if (result.Contains("Login"))
                    {
                        break;
                    }
                } while (result.Contains("Login"));
                var        orgCredential = JsonConvert.DeserializeObject <GetAPICredentials>(result);
                Crypto3DES _des          = new Crypto3DES(ApplicationSettings.EComModuleEncKey());

                _ecomTransactionKey = _des.Decrypt3DES(orgCredential.TransactionKey);
                _ecomLoginKey       = _des.Decrypt3DES(orgCredential.LoginID);
                clsAPI.orgID        = htblTestData["OrgID"].ToString();
                oGeneric.GetApiResponseCodeData(out statusCode, out result, htblTestData["MethodType"].ToString(), ApplicationSettings.APIURI() + clsAPI.apiExtendLicense.Replace("$", htblTestData["OrgID"].ToString()).Replace("#", htblTestData["EcomID"].ToString()), oRootAPIExtendLicense, htblTestData["HeaderType"].ToString(), _ecomLoginKey, _ecomTransactionKey);

                if (htblTestData["TestCaseType"].ToString().ToUpper() == "POSITIVE")
                {
                    if (result.Contains("") && !result.Contains("Error"))
                    {
                        _Flag = true;
                    }
                }
                else
                {
                    if (!result.Contains("Error"))
                    {
                        _Flag = true;
                    }
                }

                return(_Flag);
            }
            catch (Exception e)
            {
                clsException.ExceptionHandler(e, iWebdriver, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name);

                return(false);
            }
        }
Example #10
0
        public bool APIAddReduceSeats(object[] lStrvalue)
        {
            string     uri = string.Empty;
            string     uriApiCredential = string.Empty;
            string     statusCode       = string.Empty;
            string     result           = string.Empty;
            clsGeneric oGeneric         = new clsGeneric();
            string     URI          = string.Empty;
            Hashtable  htblTestData = new Hashtable();

            htblTestData = oGeneric.GetTestData(lStrvalue);
            bool _Flag = false;

            try
            {
                if (htblTestData["orgID"].ToString().Trim() != "")
                {
                    clsAPI.orgID = htblTestData["orgID"].ToString().Trim();
                }
                if (htblTestData["userid"].ToString().Trim() != "")
                {
                    clsAPI.userid = htblTestData["userid"].ToString().Trim();
                }

                APICallReduceSeats oAPICallReduceSeats = new APICallReduceSeats();


                List <APIAddReduceSeats> lstRecords = new List <APIAddReduceSeats>();
                string[] strCourses     = htblTestData["OrgCourseID"].ToString().Split(',');   /////change name as per xml tag name
                string[] strCourseSeats = htblTestData["NumberofSeats"].ToString().Split(','); /////change name as per xml tag name
                int      iCounter       = 0;


                foreach (string strCourseID in strCourses)
                {
                    APIAddReduceSeats oAPIAddReduceSeats = new APIAddReduceSeats();
                    oAPIAddReduceSeats.NumberOfSeats = string.Empty;
                    oAPIAddReduceSeats.NumberOfSeats = strCourseSeats[iCounter].ToString();/////change name as per xml tag name
                    oAPIAddReduceSeats.OrgCourseID   = string.Empty;
                    oAPIAddReduceSeats.OrgCourseID   = strCourseID;
                    lstRecords.Add(oAPIAddReduceSeats);

                    iCounter++;
                }

                oAPICallReduceSeats.OrgCourseRecords = lstRecords;
                oAPICallReduceSeats.OrderID          = htblTestData["OrderID"].ToString();
                oAPICallReduceSeats.PurchaseDate     = htblTestData["PurchaseDate"].ToString();
                //Application.DoEvents();
                GetAPICredentials oGetAPICredentials = new GetAPICredentials();

                uri = ApplicationSettings.APIURI() + clsAPI.EcomCourseSeats.Replace("$", clsAPI.orgID) + clsAPI.EcommMgrID.Replace("#", clsAPI.userid);
                uriApiCredential = ApplicationSettings.APIURI() + clsAPI.orgCredential.Replace("$", clsAPI.orgID);

                oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET",
                                                uriApiCredential, oAPICallReduceSeats, "H2", _ecomLoginKey, _ecomTransactionKey);

                Thread.Sleep(clsGlobalVariable.iWaitHigh);

                var        orgCredential = JsonConvert.DeserializeObject <GetAPICredentials>(result);
                Crypto3DES _des          = new Crypto3DES(ApplicationSettings.EComModuleEncKey());

                _ecomTransactionKey = _des.Decrypt3DES(orgCredential.TransactionKey);
                _ecomLoginKey       = _des.Decrypt3DES(orgCredential.LoginID);

                oGeneric.GetApiResponseCodeData(out statusCode, out result, "Get", uri, oAPICallReduceSeats, htblTestData["HeaderType"].ToString(), _ecomLoginKey, _ecomTransactionKey);

                Thread.Sleep(clsGlobalVariable.iWaitHigh);

                // APIGetCourseSeats courseSeats = new APIGetCourseSeats();

                var courseSeats = JsonConvert.DeserializeObject <List <APICourseSeats> >(result);


                Dictionary <string, string> dicOldCourseData = new Dictionary <string, string>();

                foreach (string strCourseID in strCourses)
                {
                    for (int i = 0; i < courseSeats.Count; i++)
                    {
                        if (strCourseID.Contains(courseSeats[i].OrgCourseID.ToString()))
                        {
                            dicOldCourseData.Add(strCourseID, courseSeats[i].TotalSeats.ToString());
                        }
                    }
                }


                oGeneric.GetApiResponseCodeData(out statusCode, out result, htblTestData["MethodType"].ToString(), uri, oAPICallReduceSeats, htblTestData["HeaderType"].ToString(), _ecomLoginKey, _ecomTransactionKey);


                //Thread.Sleep(clsGlobalVariable.iWaitSCORMUpload);
                do
                {
                    Thread.Sleep(clsGlobalVariable.iWaitHigh);
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "Get", uri, oAPICallReduceSeats, htblTestData["HeaderType"].ToString(), _ecomLoginKey, _ecomTransactionKey);
                    Thread.Sleep(5000);
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "Get", uri, oAPICallReduceSeats, htblTestData["HeaderType"].ToString(), _ecomLoginKey, _ecomTransactionKey);
                } while (result.Contains("OrgCourseRecords"));
                Thread.Sleep(clsGlobalVariable.iWaitHigh);

                if (result.ToUpper().Contains("!DOCTYPE"))
                {
                    if (htblTestData["TestCaseType"].ToString() == "Negative")
                    {
                        return(true);
                    }
                    else
                    {
                        clsGlobalVariable.strExceptionReport = "Invalid URI";
                        return(false);
                    }
                }

                var newCourseSeats = JsonConvert.DeserializeObject <List <APICourseSeats> >(result);


                Dictionary <string, string> dicNewCourseData = new Dictionary <string, string>();

                foreach (string strCourseID in strCourses)
                {
                    for (int i = 0; i < newCourseSeats.Count; i++)
                    {
                        if (strCourseID.Contains(newCourseSeats[i].OrgCourseID.ToString()))
                        {
                            dicNewCourseData.Add(strCourseID, newCourseSeats[i].TotalSeats);
                        }
                    }
                }

                int seatCounter = 0;
                foreach (string strCourseName in strCourses)
                {
                    int oldSeats = 0;
                    int newSeats = 0;
                    try
                    {
                        oldSeats = Convert.ToInt32(dicOldCourseData[strCourseName]);
                        newSeats = Convert.ToInt32(dicNewCourseData[strCourseName]);
                    }
                    catch (Exception ex) { }
                    try
                    {
                        if (Convert.ToInt32(strCourseSeats[seatCounter]) == Convert.ToInt32((newSeats - oldSeats)))
                        {
                            _Flag = true;
                        }
                    }
                    catch (FormatException eFormat)
                    {
                        if (htblTestData["TestCaseType"].ToString() == "Negative")
                        {
                            return(true);
                        }
                        else
                        {
                            clsGlobalVariable.strExceptionReport = "Invalid Seats";
                            return(false);
                        }
                    }


                    seatCounter++;
                }


                if (_Flag == true)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }

                return(true);
            }
            catch (WebException ex) { return(false); }
        }
        /// <summary>
        /// Function to pass Account Request ID and get data related to Request
        /// </summary>
        /// <param name="lStrvalue">XML Parameter</param>
        /// <returns></returns>
        public bool APIGetAccountRequestStatus(object[] lStrvalue)
        {
            string strError = string.Empty;

            clsGlobalVariable.strExceptionReport = string.Empty;
            string     statusCode   = string.Empty;
            string     result       = string.Empty;
            clsGeneric oGeneric     = new clsGeneric();
            string     URI          = string.Empty;
            Hashtable  htblTestData = new Hashtable();

            htblTestData = oGeneric.GetTestData(lStrvalue);
            string[] strCourseName = htblTestData["CourseName"].ToString().Split(',');

            bool _Flag = false;
            clsCoursePushDown clData = new clsCoursePushDown();

            try
            {
                oGeneric.GetApiResponseCodeData(out statusCode, out result, htblTestData["MethodType"].ToString(), ApplicationSettings.APIURI() + htblTestData["URI"].ToString(), clData, htblTestData["HeaderType"].ToString(), "", "");

                if (htblTestData["TestCaseType"].ToString().ToUpper() == "POSITIVE")
                {
                    if (statusCode.Contains("201"))
                    {
                        var oAccountRequest = JsonConvert.DeserializeObject <AccountRequests>(result);
                        for (int courseNameCounter = 0; courseNameCounter < strCourseName.Length; courseNameCounter++)
                        {
                            for (int courseResultCounter = 0; courseResultCounter < oAccountRequest.CourseResults.Count; courseResultCounter++)
                            {
                                if (oAccountRequest.CourseResults[courseResultCounter].SuperAdminCourseID.ToString() == strCourseName[courseNameCounter])
                                {
                                    if (oAccountRequest.CourseResults[courseResultCounter].IsErrorOccurred != "true")
                                    {
                                        _Flag = true;
                                        break;
                                    }
                                    else
                                    {
                                        strError = oAccountRequest.CourseResults[courseResultCounter].ErrorDescription;
                                    }
                                }
                            }
                        }

                        if (_Flag == true)
                        {
                            return(true);
                        }
                        else
                        {
                            clsGlobalVariable.strExceptionReport = strError;
                            return(false);
                        }
                    }
                }
                else if (htblTestData["TestCaseType"].ToString().ToUpper() == "NEGATIVE")
                {
                    if (statusCode.Contains("40") || statusCode.Contains("50"))
                    {
                        return(true);
                    }
                    else
                    {
                        clsGlobalVariable.strExceptionReport = "Negative Case Failed!";
                        return(false);
                    }
                }
                return(true);
            }
            catch (Exception e)
            {
                clsException.ExceptionHandler(e, iWebdriver, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name);

                return(false);
            }
        }
Example #12
0
        public bool APIGetCourses(object[] lStrvalue)
        {
            try
            {
                clsGlobalVariable.strExceptionReport = string.Empty;
                string statusCode = string.Empty;
                string result     = string.Empty;
                //string allCourseResultresult = string.Empty;
                //string singleCourseresult = string.Empty;
                clsGeneric oGeneric     = new clsGeneric();
                string     URI          = string.Empty;
                Hashtable  htblTestData = new Hashtable();
                htblTestData = oGeneric.GetTestData(lStrvalue);
                bool _Flag = false;

                User userID = new User();

                GetAPICredentials oGetAPICredentials = new GetAPICredentials();

                //Get Org ID at runtime
                clsPage oPage = new clsPage(iWebdriver);
                _orgID       = oPage.GetOrganizationID();
                clsAPI.orgID = _orgID;


                Thread.Sleep(clsGlobalVariable.iWaitHigh);

                //Get Org ID at runtime
                oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", clsAPI.apiURI + clsAPI.orgCredential.Replace("$", clsAPI.orgID), oGetAPICredentials, "H2", "", "");
                var        orgCredential = JsonConvert.DeserializeObject <GetAPICredentials>(result);
                Crypto3DES _des          = new Crypto3DES(ApplicationSettings.EComModuleEncKey());
                _ecomTransactionKey = _des.Decrypt3DES(orgCredential.TransactionKey);
                _ecomLoginKey       = _des.Decrypt3DES(orgCredential.LoginID);


                //API will be hit to get all courses
                if (htblTestData["RequestType"].ToString() == "All")
                {
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", clsAPI.apiURI + clsAPI.GetAllCourses.Replace("{orgid}", clsAPI.orgID), userID, htblTestData["TestCaseType"].ToString(), _ecomLoginKey, _ecomTransactionKey);
                    var userData = JsonConvert.DeserializeObject <List <clsAPICourse> >(result);
                    if (userData.Count > 1)
                    {
                        _Flag = true;
                    }
                    else
                    {
                        _Flag = false;
                    }

                    return(_Flag);
                }

                //API will be hit to get single course
                if (htblTestData["RequestType"].ToString() == "Single")
                {
                    //Get All Users
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", clsAPI.apiURI + clsAPI.GetAllCourses.Replace("{orgid}", clsAPI.orgID), userID, htblTestData["TestCaseType"].ToString(), _ecomLoginKey, _ecomTransactionKey);

                    var courseData = JsonConvert.DeserializeObject <List <clsAPICourse> >(result);

                    if (courseData.Count > 0)
                    {
                        //Find the User that we created and get its ID
                        for (int iCourses = 0; iCourses < courseData.Count; iCourses++)
                        {
                            if (courseData[iCourses].Name.ToString().Contains(htblTestData["CourseName"].ToString()))
                            {
                                string courseid = courseData[iCourses].ID.ToString();

                                //Use the ID to create a specific URL to get particular user
                                oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", clsAPI.apiURI + clsAPI.GetSingleCourse.Replace("{orgid}", clsAPI.orgID).Replace("{CourseID}", courseid), userID, htblTestData["TestCaseType"].ToString(), _ecomLoginKey, _ecomTransactionKey);

                                var singleCourseData = JsonConvert.DeserializeObject <clsAPICourse>(result);

                                if (singleCourseData.Name.Contains(htblTestData["CourseName"].ToString()))
                                {
                                    _Flag = true;
                                    break;
                                }
                                else
                                {
                                    _Flag = false;
                                }
                            }
                            else
                            {
                                _Flag = false;
                            }
                        }
                    }
                }


                return(_Flag);
            }
            catch (Exception e)
            {
                clsException.ExceptionHandler(e, iWebdriver, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name);

                return(false);
            }
        }
Example #13
0
        public bool APIEcomEnrollmentDynamic(object[] lStrvalue)
        {
            clsGlobalVariable.strExceptionReport = string.Empty;
            string     statusCode       = string.Empty;
            string     uriApiCredential = string.Empty;
            string     result           = string.Empty;
            clsGeneric oGeneric         = new clsGeneric();
            string     URI          = string.Empty;
            Hashtable  htblTestData = new Hashtable();

            htblTestData = oGeneric.GetTestData(lStrvalue);
            bool    _Flag  = false;
            string  _orgID = string.Empty;
            clsPage oPage  = new clsPage(iWebdriver);


            try
            {
                EcomEnrolUser oEcomEnrolUser = new EcomEnrolUser();

                oEcomEnrolUser.OrderID = htblTestData["OrderID"].ToString();
                oEcomEnrolUser.UserID  = clsAPI.userid;
                // clsAPI.orgID = htblTestData["OrgID"].ToString();


                GetAPICredentials oGetAPICredentials = new GetAPICredentials();

                URI = ApplicationSettings.APIURI() + clsAPI.EcomCourseSeats.Replace("$", clsAPI.orgID) + clsAPI.EcommMgrID.Replace("#", clsAPI.userid);
                uriApiCredential = ApplicationSettings.APIURI() + clsAPI.orgCredential.Replace("$", clsAPI.orgID);

                oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET",
                                                uriApiCredential, oEcomEnrolUser, "H2", _ecomLoginKey, _ecomTransactionKey);

                Thread.Sleep(clsGlobalVariable.iWaitHigh);

                var        orgCredential = JsonConvert.DeserializeObject <GetAPICredentials>(result);
                Crypto3DES _des          = new Crypto3DES(ApplicationSettings.EComModuleEncKey());

                _ecomTransactionKey = _des.Decrypt3DES(orgCredential.TransactionKey);
                _ecomLoginKey       = _des.Decrypt3DES(orgCredential.LoginID);


                URI = ApplicationSettings.APIURI() + clsAPI.EcomCourseSeats.Replace("$", clsAPI.orgID) + clsAPI.EcommMgrID.Replace("#", clsAPI.userid);

                do
                {
                    Thread.Sleep(60000);
                    for (int i = 0; i < 5; i++)
                    {
                        Thread.Sleep(clsGlobalVariable.iWaitHigh);
                        oGeneric.GetApiResponseCodeData(out statusCode, out result, "Get", URI, oEcomEnrolUser, htblTestData["HeaderType"].ToString(), _ecomLoginKey, _ecomTransactionKey);
                    }
                    if (result.Contains("Error") || result.Contains("Invalid") || result.Contains("DOCTYPE"))
                    {
                        break;
                    }
                } while (!result.ToString().Contains("OrgCourseID"));
                Thread.Sleep(clsGlobalVariable.iWaitHigh);

                // APIGetCourseSeats courseSeats = new APIGetCourseSeats();

                var    courseSeats = JsonConvert.DeserializeObject <List <APICourseSeats> >(result);
                string CourseID    = string.Empty;
                for (int i = 0; i < courseSeats.Count; i++)
                {
                    if (courseSeats[i].CourseName == (htblTestData["CourseName"].ToString()))
                    {
                        CourseID = courseSeats[i].OrgCourseID;
                    }
                }



                URI = string.Empty;
                URI = ApplicationSettings.APIURI() + clsAPI.EcommEnrolUser.Replace("{orgid}", clsAPI.orgID).Replace("{userid}", clsAPI.userid).Replace("{courseid}", CourseID);
                oGeneric.GetApiResponseCodeData(out statusCode, out result, htblTestData["MethodType"].ToString(), URI, oEcomEnrolUser, htblTestData["HeaderType"].ToString(), _ecomLoginKey, _ecomTransactionKey);

                if (htblTestData["TestCaseType"].ToString().ToUpper() == "POSITIVE")
                {
                    if (statusCode.Contains("204"))
                    {
                        _Flag = true;
                    }
                }
                else
                {
                    if (!statusCode.Contains("204"))
                    {
                        _Flag = false;
                    }
                }
            }
            catch (Exception e)
            {
                clsException.ExceptionHandler(e, iWebdriver, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name);

                return(false);
            }
            return(_Flag);
        }
Example #14
0
        public bool GetGroups(object[] lStrValue)
        {
            clsGlobalVariable.strExceptionReport = string.Empty;
            string     statusCode            = string.Empty;
            string     result                = string.Empty;
            string     allCourseResultresult = string.Empty;
            string     singleCourseresult    = string.Empty;
            clsGeneric oGeneric              = new clsGeneric();
            string     URI          = string.Empty;
            Hashtable  htblTestData = new Hashtable();

            htblTestData = oGeneric.GetTestData(lStrValue);
            bool _Flag = false;

            clsGroupAPI clGrpData = new clsGroupAPI();

            GetAPICredentials oGetAPICredentials = new GetAPICredentials();

            try
            {
                //Get Org ID at runtime
                clsPage oPage = new clsPage(iWebdriver);
                _orgID       = oPage.GetOrganizationID();
                clsAPI.orgID = _orgID;

                oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.orgCredential.Replace("$", clsAPI.orgID), oGetAPICredentials, "H2", "", "");

                var        orgCredential = JsonConvert.DeserializeObject <GetAPICredentials>(result);
                Crypto3DES _des          = new Crypto3DES(ApplicationSettings.EComModuleEncKey());

                _ecomTransactionKey = _des.Decrypt3DES(orgCredential.TransactionKey);
                _ecomLoginKey       = _des.Decrypt3DES(orgCredential.LoginID);

                if (htblTestData["RequestType"].ToString() == "All")
                {
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetAllGroups.Replace("{orgid}", clsAPI.orgID), clGrpData, htblTestData["MethodType"].ToString(), _ecomLoginKey, _ecomTransactionKey);
                    var groupData = JsonConvert.DeserializeObject <List <clsGroupAPI> >(result);
                    if (groupData.Count > 1)
                    {
                        _Flag = true;
                    }
                    else
                    {
                        _Flag = false;
                    }

                    return(_Flag);
                }

                if (htblTestData["RequestType"].ToString() == "Single")
                {
                    //Get All Groups
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetAllGroups.Replace("{orgid}", clsAPI.orgID), clGrpData, htblTestData["MethodType"].ToString(), _ecomLoginKey, _ecomTransactionKey);

                    var groupData = JsonConvert.DeserializeObject <List <clsGroupAPI> >(result);

                    if (groupData.Count > 0)
                    {
                        //Find the Group that we created and get its ID
                        for (int iEnrolUser = 0; iEnrolUser < groupData.Count; iEnrolUser++)
                        {
                            if (groupData[iEnrolUser].Name.ToString().Contains(htblTestData["GroupName"].ToString()))
                            {
                                var groupID = groupData[iEnrolUser].ID.ToString();

                                //Use the ID to create a specific URL to get particular group
                                oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetGroupByID.Replace("{orgid}", clsAPI.orgID).Replace("{GroupID}", groupID), clGrpData, htblTestData["MethodType"].ToString(), _ecomLoginKey, _ecomTransactionKey);

                                var singleGroupData = JsonConvert.DeserializeObject <clsGroupAPI>(result);

                                if (singleGroupData.Name.Contains(htblTestData["GroupName"].ToString()))
                                {
                                    _Flag = true;
                                    break;
                                }
                                else
                                {
                                    _Flag = false;
                                }
                            }
                            else
                            {
                                _Flag = false;
                            }
                        }
                    }
                }

                if (htblTestData["RequestType"].ToString() == "Members")
                {
                    //Get Members of a Group
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetAllGroups.Replace("{orgid}", clsAPI.orgID), clGrpData, htblTestData["MethodType"].ToString(), _ecomLoginKey, _ecomTransactionKey);

                    var groupData = JsonConvert.DeserializeObject <List <clsGroupAPI> >(result);


                    if (groupData.Count > 0)
                    {
                        //Find the Group that we created and get its ID
                        for (int iEnrolUser = 0; iEnrolUser < groupData.Count; iEnrolUser++)
                        {
                            if (groupData[iEnrolUser].Name.ToString().Contains(htblTestData["GroupName"].ToString()))
                            {
                                var groupID = groupData[iEnrolUser].ID.ToString();

                                //Use the ID to create a specific URL to get particular group
                                oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetGroupMembers.Replace("{orgid}", clsAPI.orgID).Replace("{GroupID}", groupID), clGrpData, htblTestData["MethodType"].ToString(), _ecomLoginKey, _ecomTransactionKey);

                                var GroupMemberData = JsonConvert.DeserializeObject <List <clsGroupAPI> >(result);
                                for (int MemberCnt = 0; MemberCnt < GroupMemberData.Count; MemberCnt++)
                                {
                                    var MemberID = GroupMemberData[MemberCnt].ID.ToString();

                                    if (MemberID != "")
                                    {
                                        _Flag = true;
                                        break;
                                    }
                                    else
                                    {
                                        _Flag = false;
                                    }
                                }
                            }
                            else
                            {
                                _Flag = false;
                            }

                            if (_Flag == true)
                            {
                                break;
                            }
                        }
                    }
                }


                if (htblTestData["RequestType"].ToString() == "ExpInclListUsers")
                {
                    //Get Members of a Group
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetAllGroups.Replace("{orgid}", clsAPI.orgID), clGrpData, htblTestData["MethodType"].ToString(), _ecomLoginKey, _ecomTransactionKey);

                    var groupData = JsonConvert.DeserializeObject <List <clsGroupAPI> >(result);


                    if (groupData.Count > 0)
                    {
                        //Find the Group that we created and get its ID
                        for (int iEnrolUser = 0; iEnrolUser < groupData.Count; iEnrolUser++)
                        {
                            if (groupData[iEnrolUser].Name.ToString().Contains(htblTestData["GroupName"].ToString()))
                            {
                                var groupID = groupData[iEnrolUser].ID.ToString();

                                //Use the ID to create a specific URL to get particular group
                                oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetGroupExplicitInclUsers.Replace("{orgid}", clsAPI.orgID).Replace("{GroupID}", groupID), clGrpData, htblTestData["MethodType"].ToString(), _ecomLoginKey, _ecomTransactionKey);

                                var GroupMemberData = JsonConvert.DeserializeObject <List <clsGroupAPI> >(result);
                                for (int MemberCnt = 0; MemberCnt < GroupMemberData.Count; MemberCnt++)
                                {
                                    var MemberID = GroupMemberData[MemberCnt].ID.ToString();

                                    if (MemberID != "")
                                    {
                                        _Flag = true;
                                        break;
                                    }
                                    else
                                    {
                                        _Flag = false;
                                    }
                                }
                            }
                            else
                            {
                                _Flag = false;
                            }

                            if (_Flag == true)
                            {
                                break;
                            }
                        }
                    }
                }


                if (htblTestData["RequestType"].ToString() == "ExpExclListUsers")
                {
                    //Get Members of a Group
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetAllGroups.Replace("{orgid}", clsAPI.orgID), clGrpData, htblTestData["MethodType"].ToString(), _ecomLoginKey, _ecomTransactionKey);

                    var groupData = JsonConvert.DeserializeObject <List <clsGroupAPI> >(result);

                    if (groupData.Count > 0)
                    {
                        //Find the Group that we created and get its ID
                        for (int iEnrolUser = 0; iEnrolUser < groupData.Count; iEnrolUser++)
                        {
                            if (groupData[iEnrolUser].Name.ToString().Contains(htblTestData["GroupName"].ToString()))
                            {
                                var groupID = groupData[iEnrolUser].ID.ToString();

                                //Use the ID to create a specific URL to get particular group
                                oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetGroupExplicitExclUsers.Replace("{orgid}", clsAPI.orgID).Replace("{GroupID}", groupID), clGrpData, htblTestData["MethodType"].ToString(), _ecomLoginKey, _ecomTransactionKey);

                                var GroupMemberData = JsonConvert.DeserializeObject <List <clsGroupAPI> >(result);
                                for (int MemberCnt = 0; MemberCnt < GroupMemberData.Count; MemberCnt++)
                                {
                                    var MemberID = GroupMemberData[MemberCnt].ID.ToString();

                                    if (MemberID != "")
                                    {
                                        _Flag = true;
                                        break;
                                    }
                                    else
                                    {
                                        _Flag = false;
                                    }
                                }
                            }
                            else
                            {
                                _Flag = false;
                            }

                            if (_Flag == true)
                            {
                                break;
                            }
                        }
                    }
                }

                if (htblTestData["RequestType"].ToString() == "GetCourses")
                {
                    //Get Courses of a Group

                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetAllGroups.Replace("{orgid}", clsAPI.orgID), clGrpData, htblTestData["MethodType"].ToString(), _ecomLoginKey, _ecomTransactionKey);

                    var groupData = JsonConvert.DeserializeObject <List <clsGroupAPI> >(result);

                    if (groupData.Count > 0)
                    {
                        //Find the Group that we created and get its ID
                        for (int iEnrolUser = 0; iEnrolUser < groupData.Count; iEnrolUser++)
                        {
                            if (groupData[iEnrolUser].Name.ToString().Contains(htblTestData["GroupName"].ToString()))
                            {
                                var groupID = groupData[iEnrolUser].ID.ToString();

                                //Use the ID to create a specific URL to get particular group
                                oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetGroupCourses.Replace("{orgID}", clsAPI.orgID).Replace("{groupID}", groupID), clGrpData, htblTestData["MethodType"].ToString(), _ecomLoginKey, _ecomTransactionKey);

                                var GroupCourse = JsonConvert.DeserializeObject <List <GroupCourseAPI> >(result);
                                for (int CourseCnt = 0; CourseCnt < GroupCourse.Count; CourseCnt++)
                                {
                                    var CourseID = GroupCourse[CourseCnt].Name.ToString();

                                    if (CourseID == htblTestData["CourseName"].ToString())
                                    {
                                        _Flag = true;
                                        break;
                                    }
                                    else
                                    {
                                        _Flag = false;
                                    }
                                }
                            }
                            else
                            {
                                _Flag = false;
                            }

                            if (_Flag == true)
                            {
                                break;
                            }
                        }
                    }
                }

                return(_Flag);
            }
            catch (Exception er)
            {
                clsException.ExceptionHandler(er, iWebdriver, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name);
                return(false);
            }
        }
Example #15
0
        public bool Enrolluser(object[] lStrValue)
        {
            clsGlobalVariable.strExceptionReport = string.Empty;
            string     statusCode   = string.Empty;
            string     result       = string.Empty;
            clsGeneric oGeneric     = new clsGeneric();
            string     URI          = string.Empty;
            Hashtable  htblTestData = new Hashtable();

            htblTestData = oGeneric.GetTestData(lStrValue);
            string lCourseId = string.Empty;
            bool   _Flag     = false;
            string _UserID   = string.Empty;

            try
            {
                clsPage oPage = new clsPage(iWebdriver);

                _orgID       = oPage.GetOrganizationID();
                clsAPI.orgID = _orgID;
                lCourseId    = oPage.GetCurriculumId(htblTestData["CurriculumName"].ToString());

                Users oUser = new Users();

                GetAPICredentials oGetAPICredentials = new GetAPICredentials();


                oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.orgCredential.Replace("$", _orgID), oUser, "H2", "", "");

                var        orgCredential = JsonConvert.DeserializeObject <GetAPICredentials>(result);
                Crypto3DES _des          = new Crypto3DES(ApplicationSettings.EComModuleEncKey());

                _ecomTransactionKey = _des.Decrypt3DES(orgCredential.TransactionKey);
                _ecomLoginKey       = _des.Decrypt3DES(orgCredential.LoginID);



                if (htblTestData["Status"].ToString().ToUpper().Contains("INACTIVE"))
                {
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.user.Replace("{orgid}", _orgID) + "?F015=" + htblTestData["UserEmail"].ToString() + "*&userstatus=inactive", oUser, "H1", _ecomLoginKey, _ecomTransactionKey);
                }
                else if (htblTestData["Status"].ToString().ToUpper().Contains("DELETED"))
                {
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.user.Replace("{orgid}", _orgID) + "?F015=" + htblTestData["UserEmail"].ToString() + "*&userstatus=Deleted", oUser, "H1", _ecomLoginKey, _ecomTransactionKey);
                }
                else
                {
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.user.Replace("{orgid}", _orgID), oUser, "H1", _ecomLoginKey, _ecomTransactionKey);
                }



                var oUserData = JsonConvert.DeserializeObject <List <Users> >(result);

                for (int iUser = 0; iUser < oUserData.Count; iUser++)
                {
                    if (oUserData[iUser].Profile.F015.ToString() == htblTestData["UserEmail"].ToString().Trim())
                    {
                        _UserID = oUserData[iUser].ID;
                        break;
                    }
                }



                UserEnrollment oUserEnrollment = new ILMS.UserEnrollment();
                oUserEnrollment.userid = _UserID;
                oGeneric.GetApiResponseCodeData(out statusCode, out result, "POST", ApplicationSettings.APIURI() + clsAPI.CurriculumEnrollment.Replace("{orgid}", _orgID).Replace("{CourseID}", lCourseId.ToString()), oUserEnrollment, "H1", _ecomLoginKey, _ecomTransactionKey);

                Thread.Sleep(clsGlobalVariable.iWaitHigh);

                if (htblTestData["TestCaseType"].ToString().ToUpper() == "NEGATIVE")
                {
                    if (result.ToUpper().Contains("!DOCTYPE"))
                    {
                        clsGlobalVariable.strExceptionReport = "Resource not found";
                        return(true);
                    }


                    var oError = JsonConvert.DeserializeObject <List <SuperAdminCoursePushDownError> >(result);
                    SuperAdminCoursePushDownErrorCode oErrorCode = new SuperAdminCoursePushDownErrorCode();
                    foreach (string strErrorCode in oErrorCode.coursePushDownErrorCode)
                    {
                        if (strErrorCode == oError[0].ErrorCode)
                        {
                            _Flag = true;
                        }
                    }
                    if (_Flag == true)
                    {
                        return(true);
                    }
                    else
                    {
                        clsGlobalVariable.strExceptionReport = "Negative Case Failed!";
                        return(false);
                    }
                }

                try
                {
                    if (htblTestData["Status"].ToString().ToUpper() == "Deleted".ToUpper())
                    {
                        if (_Flag == true)
                        {
                            return(true);
                        }
                        else
                        {
                            return(false);
                        }
                    }
                }
                catch { }
                do
                {
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.CurriculumEnrollment.Replace("{orgid}", _orgID).Replace("{CourseID}", lCourseId.ToString().Trim()), oUserEnrollment, "H1", _ecomLoginKey, _ecomTransactionKey);
                } while (result == "");

                if (htblTestData["Status"].ToString().ToUpper() == "INACTIVE")
                {
                    do
                    {
                        oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetTranscript.Replace("{orgid}", _orgID).Replace("{UserID}", _UserID.ToString().Trim()), oUserEnrollment, "H1", _ecomLoginKey, _ecomTransactionKey);
                    } while (result == "");

                    var oTranscriptData = JsonConvert.DeserializeObject <List <clsAPITranscript> >(result);

                    for (int icount = 0; icount < oTranscriptData.Count; icount++)
                    {
                        if (oTranscriptData[icount].CourseName.ToString().ToUpper().Equals(htblTestData["CurriculumName"].ToString().ToUpper()))
                        {
                            return(true);
                        }
                        else
                        {
                            return(false);
                        }
                    }
                }



                var oCourseData = JsonConvert.DeserializeObject <List <CourseData> >(result);

                for (int iUser = 0; iUser < oCourseData.Count; iUser++)
                {
                    if (oCourseData[iUser].User.Profile_Basic.F015.ToString() == htblTestData["UserEmail"].ToString().Trim())
                    {
                        _UserID = oUserData[iUser].ID;
                        _Flag   = true;
                        break;
                    }
                    else
                    {
                        _Flag = false;
                    }
                }



                if (_Flag == true)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                clsGlobalVariable.strExceptionReport = "User not enrolled in curriculum.";
                return(false);
            }
        }
Example #16
0
        public bool GetCurricula(object[] oObject)
        {
            string _UserID = string.Empty;

            clsGlobalVariable.strExceptionReport = string.Empty;
            string     statusCode       = string.Empty;
            string     statusCodeUpdate = string.Empty;
            string     result           = string.Empty;
            string     resultput        = string.Empty;
            clsGeneric oGeneric         = new clsGeneric();
            string     URI       = string.Empty;
            string     courseID  = string.Empty;
            bool       _flag     = false;
            string     lCourseId = string.Empty;
            string     resultnew = string.Empty;
            string     sessionId = string.Empty;

            Hashtable hTable = new Hashtable();

            hTable = oGeneric.GetTestData(oObject);

            clsPage oPage = new clsPage(iWebdriver);

            lCourseId = oPage.GetCurriculumId(hTable["CourseName"].ToString());
            clsGenericAPI oclsGenericAPI = new clsGenericAPI();


            _orgID       = oPage.GetOrganizationID();
            clsAPI.orgID = _orgID;
            oclsGenericAPI.GetORGCredentials(out _ecomTransactionKey, out _ecomLoginKey, _orgID);
            User oUser = new User();

            try
            {
                if (hTable["FunctionFor"].ToString().ToUpper() == "ALL")
                {
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetCuriculla.Replace("{orgid}", _orgID).Replace("{CourseID}", lCourseId), oUser, "H1", _ecomLoginKey, _ecomTransactionKey);


                    var oCurriculaData = JsonConvert.DeserializeObject <List <curiculla> >(result);

                    if (result == "")
                    {
                        return(false);
                    }
                    if (oCurriculaData.Count > 0)
                    {
                        _flag = true;
                    }
                }
                else if (hTable["FunctionFor"].ToString().ToUpper() == "SPECIFIC")
                {
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetCuriculla.Replace("{orgid}", _orgID) + "/" + lCourseId, oUser, "H1", _ecomLoginKey, _ecomTransactionKey);


                    var oSessionData = JsonConvert.DeserializeObject <List <curiculla> >(result);


                    if (oSessionData.Count == 1)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    DefaultDueDateSettings oDefaultDueDateSettings = new DefaultDueDateSettings();

                    oDefaultDueDateSettings.DefaultDueDate      = hTable["DefaultDueDate"].ToString();
                    oDefaultDueDateSettings.DaysAfterEnrollment = hTable["DaysAfterEnrollment"].ToString();
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "PUT", ApplicationSettings.APIURI() + clsAPI.GetCuriculla.Replace("{orgid}", _orgID) + "/" + lCourseId + "/DueDate", oDefaultDueDateSettings, "H1", _ecomLoginKey, _ecomTransactionKey);

                    if (hTable["TestCaseType"].ToString().ToUpper() == "NEGATIVE")
                    {
                        if (statusCode.Contains("204") || statusCode.Contains("200"))
                        {
                            return(false);
                        }
                        else
                        {
                            return(true);
                        }
                    }

                    if (statusCode.Contains("204") || statusCode.Contains("200"))
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }
            catch (Exception er) { }


            return(_flag);
        }
        public bool APICreateOrganization(object[] lStrvalue)
        {
            string header = string.Empty;

            string     statusCode   = string.Empty;
            string     result       = string.Empty;
            clsGeneric oGeneric     = new clsGeneric();
            string     URI          = string.Empty;
            Hashtable  htblTestData = new Hashtable();

            htblTestData = oGeneric.GetTestData(lStrvalue);
            bool _Flag = false;


            CreateOrganization         oCreateOrganization         = new CreateOrganization();
            CreateOrganizationUserData oCreateOrganizationUserData = new CreateOrganizationUserData();

            try
            {
                oCreateOrganization.Name       = htblTestData["OrganizationName"].ToString().Trim();
                oCreateOrganization.FolderName = htblTestData["FolderName"].ToString().Trim();


                oCreateOrganizationUserData.F001 = htblTestData["UserFirstName"].ToString().Trim();
                oCreateOrganizationUserData.F002 = htblTestData["UserLastName"].ToString().Trim();
                oCreateOrganizationUserData.F003 = htblTestData["UserMiddleName"].ToString().Trim();
                oCreateOrganizationUserData.F008 = htblTestData["Address1"].ToString().Trim();
                oCreateOrganizationUserData.F009 = htblTestData["Address2"].ToString().Trim();
                oCreateOrganizationUserData.F010 = htblTestData["City"].ToString().Trim();
                oCreateOrganizationUserData.F011 = htblTestData["Country"].ToString().Trim();
                oCreateOrganizationUserData.F012 = htblTestData["State"].ToString().Trim();
                oCreateOrganizationUserData.F013 = htblTestData["Region"].ToString().Trim();
                oCreateOrganizationUserData.F014 = htblTestData["ZipCode"].ToString().Trim();
                oCreateOrganizationUserData.F015 = htblTestData["EmailID"].ToString().Trim();
                oCreateOrganizationUserData.F016 = htblTestData["Password"].ToString().Trim();
                oCreateOrganizationUserData.F017 = htblTestData["Phone"].ToString().Trim();
                oCreateOrganizationUserData.F018 = htblTestData["Fax"].ToString().Trim();
                oCreateOrganizationUserData.F023 = htblTestData["TimeZone"].ToString().Trim();

                oCreateOrganization.OrganizationAdmin = oCreateOrganizationUserData;


                oGeneric.GetApiResponseCodeData(out statusCode, out result, htblTestData["MethodType"].ToString().Trim(), clsAPI.apiURI + htblTestData["URI"].ToString().Trim(), oCreateOrganization, htblTestData["HeaderType"].ToString().Trim(), "", "");


                if (htblTestData["TestCaseType"].ToString().ToUpper() == "POSITIVE")
                {
                    if (result.ToUpper().Contains("!DOCTYPE"))
                    {
                        clsGlobalVariable.strExceptionReport = "Resource not found";
                        return(true);
                    }
                    if (statusCode.Contains("20"))
                    {
                        var oResult = JsonConvert.DeserializeObject <CreateOrganizationUserDataOutput>(result);
                        if (oResult.OrganizationName == htblTestData["OrganizationName"].ToString().Trim())
                        {
                            return(true);
                        }
                        else
                        {
                            clsGlobalVariable.strExceptionReport = "Organization Not Found";
                            return(false);
                        }
                    }
                }
                else if (htblTestData["TestCaseType"].ToString().ToUpper() == "NEGATIVE")
                {
                    if (result.ToUpper().Contains("!DOCTYPE"))
                    {
                        return(true);
                    }

                    if (statusCode.Contains("40") || statusCode.Contains("50"))
                    {
                        if (statusCode.Contains("404") || statusCode.Contains("500") || statusCode.Contains("405"))
                        {
                            return(true);
                        }
                        var oError = JsonConvert.DeserializeObject <List <SuperAdminCoursePushDownError> >(result);
                        SuperAdminCoursePushDownErrorCode oErrorCode = new SuperAdminCoursePushDownErrorCode();
                        foreach (string strErrorCode in oErrorCode.coursePushDownErrorCode)
                        {
                            for (int iError = 0; iError < oError.Count; iError++)
                            {
                                if (strErrorCode == oError[iError].ErrorCode)
                                {
                                    _Flag = true;
                                }
                            }
                        }

                        if (_Flag == true)
                        {
                            return(true);
                        }
                        else
                        {
                            return(false);
                        }
                    }
                    else
                    {
                        clsGlobalVariable.strExceptionReport = "Resource or URI Wrong!";
                        return(false);
                    }
                }

                return(true);
            }
            catch (Exception e)
            {
                clsException.ExceptionHandler(e, iWebdriver, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name);

                return(false);
            }
        }
        /// <summary>
        /// Function to create organization ,Copy super admin course to created org and create ecom manager
        /// </summary>
        /// <param name="lStrvalue">XML Parameter</param>
        /// <returns></returns>
        public bool APICreateOrganizationCopyCourse(object[] lStrvalue)
        {
            clsGlobalVariable.strExceptionReport = string.Empty;
            string     statusCode   = string.Empty;
            string     result       = string.Empty;
            clsGeneric oGeneric     = new clsGeneric();
            string     URI          = string.Empty;
            Hashtable  htblTestData = new Hashtable();

            htblTestData = oGeneric.GetTestData(lStrvalue);
            bool _Flag = false;
            clsCoursePushDown clData = new clsCoursePushDown();

            Organization organization = new Organization();

            organization.Name = htblTestData["OrganizationName"].ToString();

            User user = new User();

            user.F001 = htblTestData["UserFirstName"].ToString();
            user.F003 = htblTestData["UserLastName"].ToString();
            user.F015 = htblTestData["UserEmail"].ToString();
            user.F023 = htblTestData["TimeZone"].ToString();
            user.F006 = htblTestData["Language"].ToString();

            List <SuperAdminCourseRecords> lstRecords = new List <SuperAdminCourseRecords>();

            string[] strCourses = htblTestData["SuperAdminCourseId"].ToString().Split(',');

            foreach (string strCourseID in strCourses)
            {
                SuperAdminCourseRecords course = new SuperAdminCourseRecords();
                course.NumberOfSeats      = htblTestData["Seats"].ToString();
                course.SuperAdminCourseID = string.Empty;
                course.SuperAdminCourseID = strCourseID;
                lstRecords.Add(course);
            }

            clData.Organization            = organization;
            clData.User                    = user;
            clData.SuperAdminCourseRecords = lstRecords;
            clData.OrderID                 = htblTestData["OrderID"].ToString();
            clData.PurchaseDate            = htblTestData["PurchaseDate"].ToString();

            try
            {
                oGeneric.GetApiResponseCodeData(out statusCode, out result, htblTestData["MethodType"].ToString(), ApplicationSettings.APIURI() + htblTestData["URI"].ToString(), clData, htblTestData["HeaderType"].ToString(), "", "");

                if (htblTestData["TestCaseType"].ToString().ToUpper() == "POSITIVE")
                {
                    if (result.ToUpper().Contains("!DOCTYPE"))
                    {
                        clsGlobalVariable.strExceptionReport = "Resource not found";
                        return(true);
                    }

                    if (statusCode.Contains("201"))
                    {
                        RequestID oRequest = JsonConvert.DeserializeObject <RequestID>(result);
                        URI    = ApplicationSettings.APIURI() + htblTestData["URI"].ToString() + "/" + oRequest.requestID.ToString();
                        result = string.Empty;
                        //   oGeneric.GetApiResponseCodeData(out statusCode, out result, "Get", URI, clData, htblTestData["HeaderType"].ToString(), "", "");
                        Thread.Sleep(20000);

                        AccountRequests oRequestData;
                        do
                        {
                            Thread.Sleep(10000);
                            oGeneric.GetApiResponseCodeData(out statusCode, out result, "Get", URI, clData, htblTestData["HeaderType"].ToString(), "", "");
                            Application.DoEvents();
                            oRequestData = JsonConvert.DeserializeObject <AccountRequests>(result);
                        } while (oRequestData.NewlyCreatedOrganizaitonInformation.OrganizationID == "0");

                        int courseCounter = 0;

                        clsAPI.orgID  = oRequestData.NewlyCreatedOrganizaitonInformation.OrganizationID;
                        clsAPI.userid = oRequestData.NewlyCreatedeComMgrInformation.UserID;
                        foreach (string strCourseID in strCourses)
                        {
                            if (strCourseID == oRequestData.CourseResults[courseCounter].SuperAdminCourseID.ToString())
                            {
                                courseCounter++;
                                _Flag = true;
                            }
                            else
                            {
                                courseCounter++;
                                _Flag = false;
                            }
                        }

                        if (_Flag == true)
                        {
                            return(true);
                        }
                        else
                        {
                            return(false);
                        }
                    }
                    else
                    {
                        var oError = JsonConvert.DeserializeObject <List <SuperAdminCoursePushDownError> >(result);
                        clsGlobalVariable.strExceptionReport = "Invalid URI: Error Code: " + oError[0].ErrorCode + "\n Error Description: " + oError[0].ErrorMessage;
                        return(false);
                    }
                }
                else if (htblTestData["TestCaseType"].ToString().ToUpper() == "NEGATIVE")
                {
                    if (result.ToUpper().Contains("!DOCTYPE"))
                    {
                        clsGlobalVariable.strExceptionReport = "Resource not found";
                        return(true);
                    }

                    if (statusCode.Contains("4") || statusCode.Contains("5"))
                    {
                        if (statusCode.Contains("404") || statusCode.Contains("500") || statusCode.Contains("405"))
                        {
                            clsGlobalVariable.strExceptionReport = "Resource not found";
                            return(true);
                        }
                        var oError = JsonConvert.DeserializeObject <List <SuperAdminCoursePushDownError> >(result);
                        SuperAdminCoursePushDownErrorCode oErrorCode = new SuperAdminCoursePushDownErrorCode();
                        foreach (string strErrorCode in oErrorCode.coursePushDownErrorCode)
                        {
                            if (strErrorCode == oError[0].ErrorCode)
                            {
                                _Flag = true;
                            }
                        }
                        if (_Flag == true)
                        {
                            return(true);
                        }
                        else
                        {
                            clsGlobalVariable.strExceptionReport = "Negative Case Failed!";
                            return(false);
                        }
                    }
                    else
                    {
                        clsGlobalVariable.strExceptionReport = "Resource or URI Wrong!";
                        return(false);
                    }
                }
                return(true);
            }
            catch (Exception e)
            {
                clsException.ExceptionHandler(e, iWebdriver, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name);

                return(false);
            }
        }
        public bool APICopyCourseForExistingOrganization(object[] lStrvalue)
        {
            string header = string.Empty;

            string     statusCode   = string.Empty;
            string     result       = string.Empty;
            clsGeneric oGeneric     = new clsGeneric();
            string     URI          = string.Empty;
            Hashtable  htblTestData = new Hashtable();

            htblTestData = oGeneric.GetTestData(lStrvalue);
            bool _Flag = false;

            CopyCourseWithExistingOrganization oCopyCourseWithExistingOrganization = new CopyCourseWithExistingOrganization();
            SuperAdminCourseRecords            oSuperAdminCourseRecords            = new SuperAdminCourseRecords();

            List <SuperAdminCourseRecords> lstRecords = new List <SuperAdminCourseRecords>();

            string[] strCourses = htblTestData["CourseName"].ToString().Split(',');
            try
            {
                foreach (string strCourseID in strCourses)
                {
                    SuperAdminCourseRecords course = new SuperAdminCourseRecords();
                    course.NumberOfSeats      = htblTestData["Seats"].ToString();
                    course.SuperAdminCourseID = string.Empty;
                    course.SuperAdminCourseID = strCourseID;
                    lstRecords.Add(course);
                }

                oCopyCourseWithExistingOrganization.UserID = htblTestData["USERID"].ToString();
                oCopyCourseWithExistingOrganization.SuperAdminCourseRecords = lstRecords;
                oCopyCourseWithExistingOrganization.OrderID      = htblTestData["USERID"].ToString();
                oCopyCourseWithExistingOrganization.PurchaseDate = htblTestData["PurchaseDate"].ToString();
                #region
                if ((htblTestData["orgID"].ToString().Trim() == ""))
                {
                    lstRecords.Clear();

                    lstRecords = new List <SuperAdminCourseRecords>();

                    foreach (string strCourseID in strCourses)
                    {
                        SuperAdminCourseRecords course = new SuperAdminCourseRecords();
                        course.NumberOfSeats      = htblTestData["Seats"].ToString();
                        course.SuperAdminCourseID = string.Empty;
                        course.SuperAdminCourseID = strCourseID;
                        lstRecords.Add(course);
                    }

                    oCopyCourseWithExistingOrganization.SuperAdminCourseRecords = lstRecords;
                    oCopyCourseWithExistingOrganization.UserID = clsAPI.userid;

                    GetAPICredentials oGetAPICredentials = new GetAPICredentials();

                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.orgCredential.Replace("$", clsAPI.orgID), oCopyCourseWithExistingOrganization, "H2", "", "");

                    var        orgCredential = JsonConvert.DeserializeObject <GetAPICredentials>(result);
                    Crypto3DES _des          = new Crypto3DES(ApplicationSettings.EComModuleEncKey());

                    _ecomTransactionKey = _des.Decrypt3DES(orgCredential.TransactionKey);
                    _ecomLoginKey       = _des.Decrypt3DES(orgCredential.LoginID);
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, htblTestData["MethodType"].ToString(), ApplicationSettings.APIURI() + htblTestData["URI"].ToString(), oCopyCourseWithExistingOrganization, htblTestData["HeaderType"].ToString(), _ecomLoginKey, _ecomTransactionKey);
                }
                else
                {
                    #endregion
                    _ecomTransactionKey = ApplicationSettings.TransactionKey();
                    _ecomLoginKey       = ApplicationSettings.APILoginID();
                    clsAPI.orgID        = htblTestData["orgID"].ToString();
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, htblTestData["MethodType"].ToString(), ApplicationSettings.APIURI() + htblTestData["URI"].ToString(), oCopyCourseWithExistingOrganization, htblTestData["HeaderType"].ToString(), _ecomLoginKey, _ecomTransactionKey);
                }

                if (htblTestData["TestCaseType"].ToString().ToUpper() == "POSITIVE")
                {
                    if (result.ToUpper().Contains("!DOCTYPE"))
                    {
                        clsGlobalVariable.strExceptionReport = "Resource not found";
                        return(true);
                    }

                    if (statusCode.Contains("201"))
                    {
                        header = htblTestData["HeaderType"].ToString();

                        RequestID oRequest = JsonConvert.DeserializeObject <RequestID>(result);
                        URI    = ApplicationSettings.APIURI() + clsAPI.apiStatus + oRequest.requestID.ToString();
                        result = string.Empty;
                        oGeneric.GetApiResponseCodeData(out statusCode, out result, "Get", URI, oCopyCourseWithExistingOrganization, "H2", "", "");
                        AccountRequests oRequestData  = JsonConvert.DeserializeObject <AccountRequests>(result);
                        int             courseCounter = 0;

                        foreach (string strCourseID in strCourses)
                        {
                            if (strCourseID == oRequestData.CourseResults[courseCounter].SuperAdminCourseID.ToString())
                            {
                                courseCounter++;
                                _Flag = true;
                            }
                            else
                            {
                                courseCounter++;
                                _Flag = false;
                            }
                        }

                        if (_Flag == true)
                        {
                            return(true);
                        }
                        else
                        {
                            return(false);
                        }
                    }
                    else
                    {
                        var oError = JsonConvert.DeserializeObject <List <SuperAdminCoursePushDownError> >(result);
                        clsGlobalVariable.strExceptionReport = "Invalid URI: Error Code: " + oError[0].ErrorCode + "\n Error Description: " + oError[0].ErrorMessage;
                        return(false);
                    }
                }
                else if (htblTestData["TestCaseType"].ToString().ToUpper() == "NEGATIVE")
                {
                    if (result.ToUpper().Contains("!DOCTYPE"))
                    {
                        clsGlobalVariable.strExceptionReport = "Resource not found";
                        return(true);
                    }

                    if (statusCode.Contains("4") || statusCode.Contains("5"))
                    {
                        if (statusCode.Contains("404") || statusCode.Contains("500") || statusCode.Contains("405"))
                        {
                            clsGlobalVariable.strExceptionReport = "Resource not found";
                            return(true);
                        }
                        var oError = JsonConvert.DeserializeObject <List <SuperAdminCoursePushDownError> >(result);
                        SuperAdminCoursePushDownErrorCode oErrorCode = new SuperAdminCoursePushDownErrorCode();
                        foreach (string strErrorCode in oErrorCode.coursePushDownErrorCode)
                        {
                            if (strErrorCode == oError[0].ErrorCode)
                            {
                                _Flag = true;
                            }
                        }
                        if (_Flag == true)
                        {
                            return(true);
                        }
                        else
                        {
                            clsGlobalVariable.strExceptionReport = "Negative Case Failed!";
                            return(false);
                        }
                    }
                    else
                    {
                        clsGlobalVariable.strExceptionReport = "Resource or URI Wrong!";
                        return(false);
                    }
                }

                return(true);
            }
            catch (Exception e)
            {
                clsException.ExceptionHandler(e, iWebdriver, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name);

                return(false);
            }
        }
        public bool Enrolluser(object[] lStrValue)
        {
            clsGlobalVariable.strExceptionReport = string.Empty;
            string     statusCode   = string.Empty;
            string     result       = string.Empty;
            clsGeneric oGeneric     = new clsGeneric();
            string     URI          = string.Empty;
            Hashtable  htblTestData = new Hashtable();

            htblTestData = oGeneric.GetTestData(lStrValue);
            List <string> lCourseId = new List <string>();
            bool          _Flag     = false;
            string        _UserID   = string.Empty;

            try
            {
                clsPage oPage = new clsPage(iWebdriver);

                _orgID       = oPage.GetOrganizationID();
                clsAPI.orgID = _orgID;
                lCourseId    = oPage.GetCourseId(htblTestData["CourseName"].ToString());

                Users oUser = new Users();

                GetAPICredentials oGetAPICredentials = new GetAPICredentials();


                oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.orgCredential.Replace("$", _orgID), oUser, "H2", "", "");

                var        orgCredential = JsonConvert.DeserializeObject <GetAPICredentials>(result);
                Crypto3DES _des          = new Crypto3DES(ApplicationSettings.EComModuleEncKey());

                _ecomTransactionKey = _des.Decrypt3DES(orgCredential.TransactionKey);
                _ecomLoginKey       = _des.Decrypt3DES(orgCredential.LoginID);



                if (htblTestData["Status"].ToString().ToUpper().Contains("INACTIVE"))
                {
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.user.Replace("{orgid}", _orgID) + "?F015=" + htblTestData["UserEmail"].ToString() + "*&userstatus=inactive", oUser, "H1", _ecomLoginKey, _ecomTransactionKey);
                }
                else if (htblTestData["Status"].ToString().ToUpper().Contains("DELETED"))
                {
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.user.Replace("{orgid}", _orgID) + "?F015=" + htblTestData["UserEmail"].ToString() + "*&userstatus=Deleted", oUser, "H1", _ecomLoginKey, _ecomTransactionKey);
                }
                else
                {
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.user.Replace("{orgid}", _orgID), oUser, "H1", _ecomLoginKey, _ecomTransactionKey);
                }
                var oUserData = JsonConvert.DeserializeObject <List <Users> >(result);

                for (int iUser = 0; iUser < oUserData.Count; iUser++)
                {
                    if (oUserData[iUser].Profile.F015.ToString() == htblTestData["UserEmail"].ToString().Trim())
                    {
                        _UserID = oUserData[iUser].ID;
                        break;
                    }
                }



                UserEnrollment oUserEnrollment = new ILMS.UserEnrollment();
                oUserEnrollment.userid = _UserID;
                oGeneric.GetApiResponseCodeData(out statusCode, out result, "POST", ApplicationSettings.APIURI() + clsAPI.CourseEnrollment.Replace("{orgid}", _orgID).Replace("{CourseID}", lCourseId[0].ToString().Trim()), oUserEnrollment, "H1", _ecomLoginKey, _ecomTransactionKey);

                Thread.Sleep(clsGlobalVariable.iWaitHigh);

                if (htblTestData["TestCaseType"].ToString().ToUpper() == "NEGATIVE")
                {
                    if (result.ToUpper().Contains("!DOCTYPE"))
                    {
                        clsGlobalVariable.strExceptionReport = "Resource not found";
                        return(true);
                    }


                    var oError = JsonConvert.DeserializeObject <List <SuperAdminCoursePushDownError> >(result);
                    SuperAdminCoursePushDownErrorCode oErrorCode = new SuperAdminCoursePushDownErrorCode();
                    foreach (string strErrorCode in oErrorCode.coursePushDownErrorCode)
                    {
                        if (strErrorCode == oError[0].ErrorCode)
                        {
                            _Flag = true;
                        }
                    }
                    if (_Flag == true)
                    {
                        return(true);
                    }
                    else
                    {
                        clsGlobalVariable.strExceptionReport = "Negative Case Failed!";
                        return(false);
                    }
                }


                do
                {
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.CourseEnrollment.Replace("{orgid}", _orgID).Replace("{CourseID}", lCourseId[0].ToString().Trim()), oUserEnrollment, "H1", _ecomLoginKey, _ecomTransactionKey);
                } while (result == "");

                if (htblTestData["Status"].ToString().ToUpper() == "INACTIVE")
                {
                    do
                    {
                        oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetTranscript.Replace("{orgid}", _orgID).Replace("{UserID}", _UserID.ToString().Trim()), oUserEnrollment, "H1", _ecomLoginKey, _ecomTransactionKey);
                    } while (result == "");

                    var oTranscriptData = JsonConvert.DeserializeObject <List <clsAPITranscript> >(result);

                    for (int icount = 0; icount < oTranscriptData.Count; icount++)
                    {
                        if (oTranscriptData[icount].CourseName.ToString().ToUpper().Equals(htblTestData["CourseName"].ToString().ToUpper()))
                        {
                            return(true);
                        }
                    }
                    return(false);
                }


                var oCourseData = JsonConvert.DeserializeObject <List <CourseData> >(result);

                for (int iUser = 0; iUser < oCourseData.Count; iUser++)
                {
                    if (oCourseData[iUser].User.Profile_Basic.F015.ToString() == htblTestData["UserEmail"].ToString().Trim())
                    {
                        _UserID = oUserData[iUser].ID;
                        _Flag   = true;
                        break;
                    }
                    else
                    {
                        _Flag = false;
                    }
                }
                try
                {
                    if (htblTestData["Status"].ToString().ToUpper() == "Deleted".ToUpper())
                    {
                        if (_Flag == true)
                        {
                            return(true);
                        }
                        else
                        {
                            return(false);
                        }
                    }
                }
                catch { }

                if (_Flag == true)
                {
                    iWebdriver.Navigate().GoToUrl(oPage.SetUrl(htblTestData["url"].ToString()));

                    clsGlobalVariable.strExceptionReport = string.Empty;
                    string   tag      = ApplicationSettings.ElementByPath();
                    object[] objparam = new object[] { ApplicationSettings.EleUserName(),
                             ApplicationSettings.ElePassword(),
                             ApplicationSettings.EleLogin() };


                    System.Threading.Thread.Sleep(clsGlobalVariable.iWaitMedium);
                    if (iWebdriver.GetType().Name.Contains("InternetExplorer") && clsGlobalVariable.IEFlag == true)
                    {
                        iWebdriver.Navigate().GoToUrl("javascript:document.getElementById('overridelink').click()");
                        clsGlobalVariable.IEFlag = false;
                    }
                    try
                    {
                        System.Threading.Thread.Sleep(clsGlobalVariable.iWaitHigh);
                        iWebdriver.FindElement((By)oGeneric.InvokeMethodwith_Param(tag, new object[] { objparam[0].ToString() })).SendKeys(htblTestData["UserEmail"].ToString());
                        iWebdriver.FindElement((By)oGeneric.InvokeMethodwith_Param(tag, new object[] { objparam[1].ToString() })).SendKeys(htblTestData["Password"].ToString());
                        iWebdriver.FindElement((By)oGeneric.InvokeMethodwith_Param(tag, new object[] { objparam[2].ToString() })).Click();

                        iWebdriver.SwitchTo().DefaultContent();
                        iWebdriver.SwitchTo().Frame(clsPageObject.frmLCLeftFrame);
                        iWebdriver.SwitchTo().Frame(clsPageObject.frmLCRightFrameFinal);


                        if (iWebdriver.FindElement(By.XPath(clsPageObject.scormCourseName.Replace("$", htblTestData["CourseName"].ToString()))).Displayed)
                        {
                            return(true);
                        }
                        else
                        {
                            clsGlobalVariable.strExceptionReport = "User is not enrolled in " + htblTestData["CourseName"].ToString();
                            return(false);
                        }
                    }
                    catch (Exception ex)
                    {
                        clsGlobalVariable.strExceptionReport = "User is not enrolled in " + htblTestData["CourseName"].ToString();
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex) { }



            return(_Flag);
        }
Example #21
0
        public bool APIEcomEnrollment(object[] lStrvalue)
        {
            clsGlobalVariable.strExceptionReport = string.Empty;
            string     statusCode       = string.Empty;
            string     uriApiCredential = string.Empty;
            string     result           = string.Empty;
            clsGeneric oGeneric         = new clsGeneric();
            string     URI          = string.Empty;
            Hashtable  htblTestData = new Hashtable();

            htblTestData = oGeneric.GetTestData(lStrvalue);
            bool _Flag = false;


            try
            {
                EcomEnrolUser oEcomEnrolUser = new EcomEnrolUser();

                oEcomEnrolUser.OrderID = htblTestData["OrderID"].ToString();
                oEcomEnrolUser.UserID  = htblTestData["UserID"].ToString();
                clsAPI.orgID           = htblTestData["OrgID"].ToString();


                GetAPICredentials oGetAPICredentials = new GetAPICredentials();

                URI = ApplicationSettings.APIURI() + clsAPI.EcomCourseSeats.Replace("$", clsAPI.orgID) + clsAPI.EcommMgrID.Replace("#", clsAPI.userid);
                uriApiCredential = ApplicationSettings.APIURI() + clsAPI.orgCredential.Replace("$", clsAPI.orgID);

                oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET",
                                                uriApiCredential, oEcomEnrolUser, "H2", _ecomLoginKey, _ecomTransactionKey);

                Thread.Sleep(clsGlobalVariable.iWaitHigh);

                var        orgCredential = JsonConvert.DeserializeObject <GetAPICredentials>(result);
                Crypto3DES _des          = new Crypto3DES(ApplicationSettings.EComModuleEncKey());

                _ecomTransactionKey = _des.Decrypt3DES(orgCredential.TransactionKey);
                _ecomLoginKey       = _des.Decrypt3DES(orgCredential.LoginID);


                URI = string.Empty;
                URI = ApplicationSettings.APIURI() + clsAPI.EcommEnrolUser.Replace("{orgid}", htblTestData["OrgID"].ToString()).Replace("{userid}", htblTestData["EcomUserId"].ToString()).Replace("{courseid}", htblTestData["CourseID"].ToString());
                oGeneric.GetApiResponseCodeData(out statusCode, out result, htblTestData["MethodType"].ToString(), URI, oEcomEnrolUser, htblTestData["HeaderType"].ToString(), _ecomLoginKey, _ecomTransactionKey);

                if (htblTestData["TestCaseType"].ToString().ToUpper() == "POSITIVE")
                {
                    if (statusCode.Contains("204"))
                    {
                        _Flag = true;
                    }
                }
                else
                {
                    if (!statusCode.Contains("204"))
                    {
                        _Flag = true;
                    }
                }

                return(_Flag);
            }
            catch (Exception e)
            {
                clsException.ExceptionHandler(e, iWebdriver, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name);

                return(false);
            }
        }
Example #22
0
        public bool EnrolluserInCanceledSession(object[] lStrvalue)
        {
            clsGlobalVariable.strExceptionReport = string.Empty;
            string     statusCode = string.Empty;
            string     result     = string.Empty;
            clsGeneric oGeneric   = new clsGeneric();


            Hashtable htblTestData = new Hashtable();

            htblTestData = oGeneric.GetTestData(lStrvalue);
            string URI = string.Empty;

            List <string> lCourseId = new List <string>();
            bool          _Flag     = false;
            string        _UserID   = string.Empty;

            try
            {
                clsPage oPage = new clsPage(iWebdriver);

                _orgID       = oPage.GetOrganizationID();
                clsAPI.orgID = _orgID;
                lCourseId    = oPage.GetCourseId(htblTestData["CourseName"].ToString());

                Users oUser = new Users();

                GetAPICredentials oGetAPICredentials = new GetAPICredentials();


                oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.orgCredential.Replace("$", _orgID), oUser, "H2", "", "");

                var        orgCredential = JsonConvert.DeserializeObject <GetAPICredentials>(result);
                Crypto3DES _des          = new Crypto3DES(ApplicationSettings.EComModuleEncKey());

                _ecomTransactionKey = _des.Decrypt3DES(orgCredential.TransactionKey);
                _ecomLoginKey       = _des.Decrypt3DES(orgCredential.LoginID);

                oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.user.Replace("{orgid}", _orgID), oUser, "H1", _ecomLoginKey, _ecomTransactionKey);


                var oUserData = JsonConvert.DeserializeObject <List <Users> >(result);

                for (int iUser = 0; iUser < oUserData.Count; iUser++)
                {
                    if (oUserData[iUser].Profile.F015.ToString() == htblTestData["UserEmail"].ToString().Trim())
                    {
                        _UserID = oUserData[iUser].ID;
                        break;
                    }
                }


                oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetSessionID.Replace("{orgid}", _orgID).Replace("{CourseID}", lCourseId[0].ToString()), oUser, "H1", _ecomLoginKey, _ecomTransactionKey);


                var oSessionData = JsonConvert.DeserializeObject <List <clsAPISession> >(result);

                if (result == "")
                {
                    return(false);
                }

                _SessionID = oSessionData[0].SessionID;


                clsSession oSession = new clsSession(iWebdriver);

                if (htblTestData["Function"].ToString().ToUpper() == "CANCEL")
                {
                    oSession.CancelSession(htblTestData["CourseName"].ToString(), "CANCEL");
                }
                else
                {
                    oSession.CancelSession(htblTestData["CourseName"].ToString(), "Delete");
                }

                UserEnrollment oUserEnrollment = new ILMS.UserEnrollment();
                oUserEnrollment.userid = _UserID;
                oGeneric.GetApiResponseCodeData(out statusCode, out result, "POST", ApplicationSettings.APIURI() + clsAPI.SessionEnrollment.Replace("{orgid}", _orgID).Replace("{CourseID}", lCourseId[0].ToString().Trim()).Replace("{SessionID}", _SessionID), oUserEnrollment, "H1", _ecomLoginKey, _ecomTransactionKey);

                Thread.Sleep(clsGlobalVariable.iWaitHigh);

                if (htblTestData["TestCaseType"].ToString().ToUpper() == "NEGATIVE")
                {
                    if (result.ToUpper().Contains("!DOCTYPE"))
                    {
                        clsGlobalVariable.strExceptionReport = "Resource not found";
                        return(true);
                    }


                    if (result.Contains("Invalid URI"))
                    {
                        return(true);
                    }


                    var oError = JsonConvert.DeserializeObject <List <SuperAdminCoursePushDownError> >(result);
                    SuperAdminCoursePushDownErrorCode oErrorCode = new SuperAdminCoursePushDownErrorCode();
                    foreach (string strErrorCode in oErrorCode.coursePushDownErrorCode)
                    {
                        if (strErrorCode == oError[0].ErrorCode)
                        {
                            _Flag = true;
                        }
                    }
                    if (_Flag == true)
                    {
                        return(true);
                    }
                    else
                    {
                        clsGlobalVariable.strExceptionReport = "Negative Case Failed!";
                        return(false);
                    }
                }


                do
                {
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.SessionEnrollment.Replace("{orgid}", _orgID).Replace("{CourseID}", lCourseId[0].ToString().Trim()).Replace("{SessionID}", _SessionID), oUserEnrollment, "H1", _ecomLoginKey, _ecomTransactionKey);
                } while (result == "");



                var oCourseData = JsonConvert.DeserializeObject <List <SessionEnrollment> >(result);

                for (int iUser = 0; iUser < oCourseData.Count; iUser++)
                {
                    if (oCourseData[iUser].User.Profile_Basic.F015.ToString() == htblTestData["UserEmail"].ToString().Trim())
                    {
                        _UserID = oCourseData[iUser].User.ID;
                        _Flag   = true;
                        break;
                    }
                    else
                    {
                        _Flag = false;
                    }
                }
            }
            catch (Exception e)
            {
                clsException.ExceptionHandler(e, iWebdriver, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name);

                return(false);
            }



            return(_Flag);
        }
Example #23
0
        public bool APIGetUser(object[] lStrvalue)
        {
            clsGlobalVariable.strExceptionReport = string.Empty;
            string     statusCode            = string.Empty;
            string     result                = string.Empty;
            string     allCourseResultresult = string.Empty;
            string     singleCourseresult    = string.Empty;
            clsGeneric oGeneric              = new clsGeneric();
            string     URI          = string.Empty;
            Hashtable  htblTestData = new Hashtable();

            htblTestData = oGeneric.GetTestData(lStrvalue);
            bool _Flag = false;

            UserEnrollment userID = new UserEnrollment();

            GetAPICredentials oGetAPICredentials = new GetAPICredentials();

            //Get Org ID at runtime
            clsPage oPage = new clsPage(iWebdriver);

            _orgID       = oPage.GetOrganizationID();
            clsAPI.orgID = _orgID;
            try
            {
                oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.orgCredential.Replace("$", clsAPI.orgID), oGetAPICredentials, "H2", "", "");

                var        orgCredential = JsonConvert.DeserializeObject <GetAPICredentials>(result);
                Crypto3DES _des          = new Crypto3DES(ApplicationSettings.EComModuleEncKey());

                _ecomTransactionKey = _des.Decrypt3DES(orgCredential.TransactionKey);
                _ecomLoginKey       = _des.Decrypt3DES(orgCredential.LoginID);

                if (htblTestData["RequestType"].ToString() == "All")
                {
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.user.Replace("{orgid}", clsAPI.orgID), userID, htblTestData["MethodType"].ToString(), _ecomLoginKey, _ecomTransactionKey);
                    var userData = JsonConvert.DeserializeObject <List <Users> >(result);
                    if (userData.Count > 1)
                    {
                        _Flag = true;
                    }
                    else
                    {
                        _Flag = false;
                    }

                    return(_Flag);
                }

                if (htblTestData["RequestType"].ToString() == "Single")
                {
                    //Get All Users
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.user.Replace("{orgid}", clsAPI.orgID), userID, htblTestData["MethodType"].ToString(), _ecomLoginKey, _ecomTransactionKey);

                    var userData = JsonConvert.DeserializeObject <List <Users> >(result);

                    if (userData.Count > 0)
                    {
                        //Find the User that we created and get its ID
                        for (int iEnrolUser = 0; iEnrolUser < userData.Count; iEnrolUser++)
                        {
                            if (userData[iEnrolUser].Profile.F015.ToString().Contains(htblTestData["UserEmail"].ToString()))
                            {
                                string userid = userData[iEnrolUser].ID.ToString();

                                //Use the ID to create a specific URL to get particular user
                                oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetSingleUser.Replace("{orgID}", clsAPI.orgID).Replace("{UserID}", userid), userID, htblTestData["MethodType"].ToString(), _ecomLoginKey, _ecomTransactionKey);

                                var singleUserData = JsonConvert.DeserializeObject <Users>(result);

                                if (singleUserData.Profile.F015.Contains(htblTestData["UserEmail"].ToString()))
                                {
                                    _Flag = true;
                                    break;
                                }
                                else
                                {
                                    _Flag = false;
                                }
                            }
                            else
                            {
                                _Flag = false;
                            }
                        }
                    }
                }
                return(_Flag);
            }
            catch (Exception e)
            {
                clsException.ExceptionHandler(e, iWebdriver, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name);

                return(false);
            }
        }
Example #24
0
        //Created by Niranjan
        //Modified by Sandeep
        //Modified by Niranjan - 20/7/2016
        public bool APICreateUser(object[] lStrvalue)
        {
            //UsersData odata = new UsersData();
            try
            {
                clsGlobalVariable.strExceptionReport = string.Empty;
                string statusCode = string.Empty;
                string result     = string.Empty;
                //string allCourseResultresult = string.Empty;
                //string singleCourseresult = string.Empty;
                clsGeneric oGeneric     = new clsGeneric();
                string     URI          = string.Empty;
                Hashtable  htblTestData = new Hashtable();
                htblTestData = oGeneric.GetTestData(lStrvalue);
                bool _Flag = false;

                User userID = new User();

                GetAPICredentials oGetAPICredentials = new GetAPICredentials();

                //Get Org ID at runtime
                clsPage oPage = new clsPage(iWebdriver);
                _orgID       = oPage.GetOrganizationID();
                clsAPI.orgID = _orgID;


                Thread.Sleep(clsGlobalVariable.iWaitHigh);

                oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", clsAPI.apiURI + clsAPI.orgCredential.Replace("$", clsAPI.orgID), oGetAPICredentials, "H2", "", "");

                var        orgCredential = JsonConvert.DeserializeObject <GetAPICredentials>(result);
                Crypto3DES _des          = new Crypto3DES(ApplicationSettings.EComModuleEncKey());

                _ecomTransactionKey = _des.Decrypt3DES(orgCredential.TransactionKey);
                _ecomLoginKey       = _des.Decrypt3DES(orgCredential.LoginID);

                UpdateUser ouser = new UpdateUser();
                CreateUser cuser = new CreateUser();

                XDocument doc = XDocument.Load(clsGlobalVariable.ProjectDirectory + htblTestData["FieldsToBeUpdated"].ToString());

                List <UpdateUser> oList = doc.Root.Elements()
                                          .Select(x => new UpdateUser()
                {
                    Key   = x.Attribute("Key").Value,
                    Value = x.Attribute("Value").Value
                }).ToList();

                for (int i = 0; i <= oList.Count; i++)
                {
                    cuser.userProfileData = oList;
                }
                cuser.sendRegistrationMail      = "true";
                cuser.changePasswordAtNextLogin = "******";

                //Update Fields Value
                oGeneric.GetApiResponseCodeData(out statusCode, out result, "POST", clsAPI.apiURI + clsAPI.user.Replace("{orgid}", clsAPI.orgID), cuser, "H1", _ecomLoginKey, _ecomTransactionKey);

                //1st code checks whether the test cases is Negative or Positive
                if (htblTestData["TestCaseType"].ToString().ToUpper() == "NEGATIVE")
                {
                    //If Negative then we expect an error code
                    if (result.Contains("ErrorCode") || result.Contains("Invalid URI."))
                    {
                        if (result.Contains("Invalid URI."))
                        {
                            return(true);
                        }
                        //The error code can be from API of Course Pushdown
                        SuperAdminCoursePushDownErrorCode oError = new SuperAdminCoursePushDownErrorCode();
                        var error = JsonConvert.DeserializeObject <List <SuperAdminCoursePushDownError> >(result);

                        foreach (string errorcode in oError.coursePushDownErrorCode)
                        {
                            for (int i = 0; i < error.Count; i++)
                            {
                                if (error[i].ErrorCode == errorcode)
                                {
                                    _Flag = true;
                                }
                                else
                                {
                                    _Flag = false;
                                }
                            }
                            if (_Flag == true)
                            {
                                break;
                            }
                        }

                        if (_Flag == false)
                        {
                            //If Not from Course Push Down then The error code can be from General APIs
                            GeneralAPIErrCodes oError1 = new GeneralAPIErrCodes();
                            var error1 = JsonConvert.DeserializeObject <List <GeneralAPIErrCodes> >(result);
                            foreach (string errorcode in oError1.allAPIErrorCodes)
                            {
                                for (int i = 0; i < error.Count; i++)
                                {
                                    if (error[i].ErrorCode == errorcode)
                                    {
                                        _Flag = true;
                                        if (_Flag == true)
                                        {
                                            break;
                                        }
                                    }
                                    else
                                    {
                                        _Flag = false;
                                    }
                                }
                                if (_Flag == true)
                                {
                                    break;
                                }
                            }
                        }
                    }
                    if (_Flag == true)
                    {
                        return(_Flag);
                    }
                }
                else
                {
                    //If the test case is positive control will come here and then user should be created without any error code
                    if (statusCode == "Created/201")
                    {
                        _Flag = true;
                    }
                    else
                    {
                        _Flag = false;
                    }
                }
                return(_Flag);
            }
            catch (Exception e)
            {
                clsException.ExceptionHandler(e, iWebdriver, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name);

                return(false);
            }
        }
Example #25
0
        public bool GetIlmsConnectSharedKey(object[] lStrvalue)
        {
            clsGlobalVariable.strExceptionReport = string.Empty;
            string     statusCode   = string.Empty;
            string     result       = string.Empty;
            clsGeneric oGeneric     = new clsGeneric();
            string     URI          = string.Empty;
            Hashtable  htblTestData = new Hashtable();

            htblTestData = oGeneric.GetTestData(lStrvalue);
            bool _Flag = false;

            clsCoursePushDown clData = new clsCoursePushDown();

            GetAPICredentials oGetAPICredentials = new GetAPICredentials();

            try
            {
                if (htblTestData["OrgID"].ToString() != "")
                {
                    clsAPI.orgID = htblTestData["OrgID"].ToString();
                }

                oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.orgCredential.Replace("$", clsAPI.orgID), clData, "H2", "", "");

                var        orgCredential = JsonConvert.DeserializeObject <GetAPICredentials>(result);
                Crypto3DES _des          = new Crypto3DES(ApplicationSettings.EComModuleEncKey());

                _ecomTransactionKey = _des.Decrypt3DES(orgCredential.TransactionKey);
                _ecomLoginKey       = _des.Decrypt3DES(orgCredential.LoginID);
                //  clsAPI.orgID = htblTestData["OrgID"].ToString();
                oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.apiILMSConnect.Replace("$", clsAPI.orgID), clData, htblTestData["MethodType"].ToString(), _ecomLoginKey, _ecomTransactionKey);
                if (htblTestData["TestCaseType"].ToString().ToUpper() == "POSITIVE")
                {
                    if (result.Contains("SharedKey") && result.Contains("BaseURL"))
                    {
                        var    oSharedKey = JsonConvert.DeserializeObject <IlmsConnectSharedKey>(result);
                        string URL        = oSharedKey.BaseURL;
                        _decriptedKey            = _des.Decrypt3DES(oSharedKey.SharedKey);
                        clsAPI.ilmsconnectFormat = clsAPI.ilmsconnectFormat.Replace("{OrgID}", clsAPI.orgID).Replace("{Key}", _decriptedKey).Replace("{UserID}", clsAPI.userid);

                        _Encriptedstring = _des.Encrypt3DES(clsAPI.ilmsconnectFormat);
                        iWebdriver.Navigate().GoToUrl(URL + "?enc=" + _Encriptedstring);
                        try
                        {
                            iWebdriver.SwitchTo().Frame(clsPageObject.strHeaderFrameID);
                            string strActualResult = iWebdriver.FindElement(clsPageObject.lvLearnerLogout).Text;
                            StringAssert.AreEqualIgnoringCase("Logout", strActualResult);
                            _Flag = true;
                        }
                        catch (Exception exc)
                        {
                            clsGlobalVariable.strExceptionReport = exc.Message.ToString();
                            _Flag = false;
                        }


                        _Flag = true;
                    }
                }
                else
                {
                    if (!result.Contains("SharedKey") && !result.Contains("BaseURL"))
                    {
                        _Flag = true;
                    }
                }

                return(_Flag);
            }
            catch (Exception e)
            {
                clsException.ExceptionHandler(e, iWebdriver, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name);

                return(false);
            }
        }
Example #26
0
        public bool APIChangePassword(object[] lStrvalue)
        {
            clsGlobalVariable.strExceptionReport = string.Empty;
            string     statusCode            = string.Empty;
            string     result                = string.Empty;
            string     allCourseResultresult = string.Empty;
            string     singleCourseresult    = string.Empty;
            clsGeneric oGeneric              = new clsGeneric();
            string     URI          = string.Empty;
            Hashtable  htblTestData = new Hashtable();

            htblTestData = oGeneric.GetTestData(lStrvalue);
            bool _Flag = false;

            User userID = new User();

            GetAPICredentials oGetAPICredentials = new GetAPICredentials();

            //Get Org ID at runtime
            clsPage oPage = new clsPage(iWebdriver);

            _orgID       = oPage.GetOrganizationID();
            clsAPI.orgID = _orgID;

            Thread.Sleep(clsGlobalVariable.iWaitHigh);
            try
            {
                oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", clsAPI.apiURI + clsAPI.orgCredential.Replace("$", clsAPI.orgID), oGetAPICredentials, "H2", "", "");

                var        orgCredential = JsonConvert.DeserializeObject <GetAPICredentials>(result);
                Crypto3DES _des          = new Crypto3DES(ApplicationSettings.EComModuleEncKey());

                _ecomTransactionKey = _des.Decrypt3DES(orgCredential.TransactionKey);
                _ecomLoginKey       = _des.Decrypt3DES(orgCredential.LoginID);

                ChangePasswordAPI ouser = new ChangePasswordAPI();
                //Get User ID based on Email Address which is passed XML and Change Password
                string userid = GetUserID("active", oGeneric, "", statusCode, htblTestData, userID);
                ouser.newpassword = htblTestData["NewPassword"].ToString();
                oGeneric.GetApiResponseCodeData(out statusCode, out result, "PUT", clsAPI.apiURI + clsAPI.UpdateUserProfile.Replace("{orgID}", clsAPI.orgID).Replace("{UserID}", userid) + "/Password", ouser, htblTestData["MethodType"].ToString(), _ecomLoginKey, _ecomTransactionKey);

                if (statusCode == "NoContent/204")
                {
                    _Flag = true;
                }
                else if (statusCode == "OK/200")
                {
                    _Flag = true;
                }
                else
                {
                    _Flag = false;
                }
                return(_Flag);
            }
            catch (Exception e)
            {
                clsException.ExceptionHandler(e, iWebdriver, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name);

                return(false);
            }
        }
Example #27
0
        public bool GetSession(object[] oObject)
        {
            string _UserID = string.Empty;

            clsGlobalVariable.strExceptionReport = string.Empty;
            string        statusCode       = string.Empty;
            string        statusCodeUpdate = string.Empty;
            string        result           = string.Empty;
            string        resultput        = string.Empty;
            clsGeneric    oGeneric         = new clsGeneric();
            string        URI       = string.Empty;
            string        courseID  = string.Empty;
            bool          _flag     = false;
            List <string> lCourseId = new List <string>();
            string        resultnew = string.Empty;
            string        sessionId = string.Empty;

            Hashtable hTable = new Hashtable();

            hTable = oGeneric.GetTestData(oObject);

            clsPage oPage = new clsPage(iWebdriver);

            lCourseId = oPage.GetCourseId(hTable["CourseName"].ToString());
            clsGenericAPI oclsGenericAPI = new clsGenericAPI();


            _orgID       = oPage.GetOrganizationID();
            clsAPI.orgID = _orgID;
            oclsGenericAPI.GetORGCredentials(out _ecomTransactionKey, out _ecomLoginKey, _orgID);
            User oUser = new User();

            try
            {
                if (hTable["FunctionFor"].ToString().ToUpper() == "ALL")
                {
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetSessionID.Replace("{orgid}", _orgID).Replace("{CourseID}", lCourseId[0].ToString().Trim()), oUser, "H1", _ecomLoginKey, _ecomTransactionKey);


                    var oSessionData = JsonConvert.DeserializeObject <List <clsAPISession> >(result);

                    if (result == "")
                    {
                        return(false);
                    }
                    if (oSessionData.Count > 0)
                    {
                        _flag = true;
                    }
                }
                else if (hTable["FunctionFor"].ToString().ToUpper() == "ROOMNAME")
                {
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetSessionID.Replace("{orgid}", _orgID).Replace("{CourseID}", lCourseId[0].ToString().Trim()), oUser, "H1", _ecomLoginKey, _ecomTransactionKey);


                    var oSessionData = JsonConvert.DeserializeObject <List <clsAPISession> >(result);

                    for (int iSessionCounter = 0; iSessionCounter < oSessionData.Count; iSessionCounter++)
                    {
                        if (oSessionData[iSessionCounter].RoomName == hTable["RoomName"].ToString())
                        {
                            sessionId = oSessionData[iSessionCounter].SessionID; break;
                        }
                    }

                    if (sessionId == "")
                    {
                        return(false);
                    }

                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetSessionID.Replace("{orgid}", _orgID).Replace("{CourseID}", lCourseId[0].ToString().Trim()) + "/" + sessionId, oUser, "H1", _ecomLoginKey, _ecomTransactionKey);

                    var oSessionDatanew = JsonConvert.DeserializeObject <List <clsAPISession> >(result);
                    if (oSessionDatanew.Count == 1)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetSessionID.Replace("{orgid}", _orgID).Replace("{CourseID}", lCourseId[0].ToString().Trim()) + "?sessionstartdate=" + hTable["StartDate"] + "&sessionenddate=" + hTable["EndDate"], oUser, "H1", _ecomLoginKey, _ecomTransactionKey);

                    if (hTable["TestCaseType"].ToString().ToUpper() == "NEGATIVE")
                    {
                        if (statusCode.Contains("204") || statusCode.Contains("200"))
                        {
                            return(false);
                        }
                        else
                        {
                            return(true);
                        }
                    }
                    var oSessionData = JsonConvert.DeserializeObject <List <clsAPISession> >(result);

                    if (result == "")
                    {
                        return(false);
                    }
                    if (oSessionData.Count > 0)
                    {
                        _flag = true;
                    }
                }
            }
            catch (Exception e)
            {
                clsException.ExceptionHandler(e, iWebdriver, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name);

                return(false);
            }


            return(_flag);
        }
        public bool APIEnrollments(object[] lStrvalue)
        {
            clsGlobalVariable.strExceptionReport = string.Empty;
            string     statusCode   = string.Empty;
            string     result       = string.Empty;
            clsGeneric oGeneric     = new clsGeneric();
            string     URI          = string.Empty;
            Hashtable  htblTestData = new Hashtable();

            htblTestData = oGeneric.GetTestData(lStrvalue);
            bool _Flag = false;
            clsCoursePushDown clData = new clsCoursePushDown();

            GetAPICredentials oGetAPICredentials = new GetAPICredentials();

            try {
                oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.orgCredential.Replace("$", htblTestData["OrgID"].ToString()), clData, "H2", "", "");

                var        orgCredential = JsonConvert.DeserializeObject <GetAPICredentials>(result);
                Crypto3DES _des          = new Crypto3DES(ApplicationSettings.EComModuleEncKey());

                _ecomTransactionKey = _des.Decrypt3DES(orgCredential.TransactionKey);
                _ecomLoginKey       = _des.Decrypt3DES(orgCredential.LoginID);



                clsAPI.orgID = htblTestData["OrgID"].ToString();
                oGeneric.GetApiResponseCodeData(out statusCode, out result, htblTestData["MethodType"].ToString(), ApplicationSettings.APIURI() + clsAPI.apiEnrollment.Replace("&", htblTestData["OrgID"].ToString()).Replace("$", htblTestData["EcomID"].ToString()).Replace("#", htblTestData["CourseID"].ToString()), clData, htblTestData["HeaderType"].ToString(), _ecomLoginKey, _ecomTransactionKey);



                if (htblTestData["TestCaseType"].ToString().ToUpper() == "POSITIVE")
                {
                    var oEnrolledUserCourseUserData = JsonConvert.DeserializeObject <List <EnrolledUserCourseUserData> >(result);
                    if (oEnrolledUserCourseUserData.Count > 0)
                    {
                        for (int iEnrolUser = 0; iEnrolUser < oEnrolledUserCourseUserData.Count; iEnrolUser++)
                        {
                            if (oEnrolledUserCourseUserData[iEnrolUser].CourseID.ToString().Contains(htblTestData["CourseID"].ToString()))
                            {
                                _Flag = true;
                            }
                        }
                    }
                }
                else if (htblTestData["TestCaseType"].ToString().ToUpper() == "NEGATIVE")
                {
                    if (_ecomTransactionKey == "" && _ecomLoginKey == "")
                    {
                        return(true);
                    }
                    if (result.ToUpper().Contains("!DOCTYPE"))
                    {
                        return(true);
                    }

                    if (statusCode.Contains("40") || statusCode.Contains("50"))
                    {
                        if (statusCode.Contains("404") || statusCode.Contains("500") || statusCode.Contains("405"))
                        {
                            return(true);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                clsException.ExceptionHandler(e, iWebdriver, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name);

                return(false);
            }
            return(_Flag);
        }