public void ExecuteResponse429TooManyRequestsTest() { var completion = new ManualResetEvent(false); var response = new WebexApiEventArgs <JWTAccessTokenInfo>(); var request = ServiceRequest429ResponseConfig(5, 2); DateTime time1 = DateTime.UtcNow; DateTime time2 = time1; request.Execute <JWTAccessTokenInfo>((r) => { time2 = DateTime.UtcNow; response = r; completion.Set(); }); if (!completion.WaitOne(30000)) { Console.WriteLine("Execute timeout"); Assert.Fail(); return; } Console.WriteLine($"request time: {time1}"); Console.WriteLine($"response time: {time2}"); Assert.IsFalse(response.IsSuccess); Assert.IsTrue(request.m429RetryCount == 5); Assert.IsTrue((int)(time2 - time1).TotalSeconds == 5 * 2); }
public void ListByDisplayNameTest() { var completion = new ManualResetEvent(false); var response = new WebexApiEventArgs <List <Person> >(); person.List(null, other.Name, null, rsp => { response = rsp; completion.Set(); }); if (!completion.WaitOne(30000)) { Assert.Fail(); return; } Assert.IsTrue(response.IsSuccess); List <Person> persons = response.Data; Assert.AreEqual(1, persons.Count); Assert.AreEqual(other.Email, persons[0].Emails[0]); Assert.AreEqual(other.Name, persons[0].DisplayName); Assert.AreEqual(other.PersonId, persons[0].Id); }
private bool DownloadFile(RemoteFile file, string to) { var completion = new ManualResetEvent(false); var response = new WebexApiEventArgs(); webex.Messages.DownloadFile(file, to, rsp => { if (!rsp.IsSuccess || (rsp.IsSuccess && rsp.Data == 100)) { response = rsp; completion.Set(); } }); if (!completion.WaitOne(30000)) { return(false); } if (response.IsSuccess) { return(true); } return(false); }
private static Membership CreateMembership(string spaceId, string email, string personId, bool isModerator = false) { var completion = new ManualResetEvent(false); var response = new WebexApiEventArgs <Membership>(); if (email != null) { webex.Memberships.CreateByPersonEmail(spaceId, email, isModerator, rsp => { response = rsp; completion.Set(); }); } else { webex.Memberships.CreateByPersonId(spaceId, personId, isModerator, rsp => { response = rsp; completion.Set(); }); } if (!completion.WaitOne(30000)) { return(null); } if (response.IsSuccess) { return(response.Data); } return(null); }
private TeamMembership CreateTeamMemberShip(string teamId, string personId, string email, bool?isModerator) { var completion = new ManualResetEvent(false); var response = new WebexApiEventArgs <TeamMembership>(); if (email != null) { teamMemberships.CreateByEmail(teamId, email, isModerator, rsp => { response = rsp; completion.Set(); }); } else { teamMemberships.CreateById(teamId, personId, isModerator, rsp => { response = rsp; completion.Set(); }); } if (!completion.WaitOne(30000)) { return(null); } if (response.IsSuccess) { return(response.Data); } return(null); }
private static Person GetPerson(string email) { var completion = new ManualResetEvent(false); var response = new WebexApiEventArgs <List <Person> >(); webex.People.List(email, null, 1, rsp => { response = rsp; completion.Set(); }); if (!completion.WaitOne(30000)) { return(null); } if (response.IsSuccess) { var persons = response.Data; if (persons != null && persons.Count > 0) { return(persons[0]); } return(null); } return(null); }
public void ExecuteAuthResponse429TooManyRequestsWithoutRetryAfterHeaderTest() { var completion = new ManualResetEvent(false); var response = new WebexApiEventArgs <JWTAccessTokenInfo>(); var request = ServiceRequest429ResponseConfig(1, 1, true);// no retry_after header. DateTime time1 = DateTime.UtcNow; DateTime time2 = time1; request.ExecuteAuth <JWTAccessTokenInfo>((r) => { time2 = DateTime.UtcNow; response = r; completion.Set(); }); if (false == completion.WaitOne(65000)) { Console.WriteLine("ExecuteAuth timeout"); Assert.Fail(); return; } Console.WriteLine($"request time: {time1}"); Console.WriteLine($"response time: {time2}"); Assert.IsFalse(response.IsSuccess); Assert.IsTrue(request.m429RetryCount == 1); Assert.IsTrue((int)(time2 - time1).TotalSeconds == 60); }
//# //[TestMethod()] //public void AccessTokenTest() //{ // var completion = new ManualResetEvent(false); // var repOfaccessToken = new WebexApiEventArgs<string>(); // var auth = new JWTAuthenticator(); // Assert.IsTrue(LoginWithTryTimes(auth, 5)); // auth.AccessToken(r => // { // repOfaccessToken = r; // completion.Set(); // }); // if (!completion.WaitOne(30000)) // { // Assert.Fail(); // return; // } // Assert.IsTrue(repOfaccessToken.IsSuccess); // Assert.IsNotNull(repOfaccessToken.Data); // Assert.IsNull(repOfaccessToken.Error); // Assert.IsTrue(Logout(auth)); // Thread.Sleep(30000); //} //[TestMethod()] //public void AccessTokenTestUnexpirAccessToken() //{ // var completion = new ManualResetEvent(false); // var repOfaccessToken = new WebexApiEventArgs<string>(); // var auth = new JWTAuthenticator(); // Assert.IsTrue(LoginWithTryTimes(auth, 5)); // auth.AccessToken(r => // { // repOfaccessToken = r; // completion.Set(); // }); // if (!completion.WaitOne(30000)) // { // Assert.Fail(); // return; // } // Assert.IsTrue(repOfaccessToken.IsSuccess); // Assert.IsNotNull(repOfaccessToken.Data); // Assert.IsNull(repOfaccessToken.Error); // //get unexpired access token, it is the same of last one. // completion.Reset(); // var newAccessToken = new WebexApiEventArgs<string>(); // auth.AccessToken(r => // { // newAccessToken = r; // completion.Set(); // }); // if (!completion.WaitOne(30000)) // { // Assert.Fail(); // return; // } // Assert.IsTrue(newAccessToken.IsSuccess); // Assert.AreEqual(repOfaccessToken.Data, newAccessToken.Data); // Assert.IsTrue(Logout(auth)); // Thread.Sleep(30000); //} //[TestMethod()] //public void LoginLogoutManytimes() //{ // var auth = new JWTAuthenticator(); // int count = 3; // while (count > 0) // { // count--; // Console.WriteLine($"loginLogoutManytimes[{count}]"); // Assert.IsTrue(loginWithTryTimes(auth, 10)); // logout(auth); // } //} private bool CheckAuthorized(JWTAuthenticator auth) { var completion = new ManualResetEvent(false); var response = new WebexApiEventArgs(); auth.Authorized(r => { response = r; completion.Set(); }); if (!completion.WaitOne(30000)) { Assert.Fail(); return(false); } return(response.IsSuccess); }
public void GetWithoutIdTest() { var completion = new ManualResetEvent(false); var response = new WebexApiEventArgs <Person>(); person.Get("", rsp => { response = rsp; completion.Set(); }); if (!completion.WaitOne(30000)) { Assert.Fail(); return; } Assert.IsFalse(response.IsSuccess); }
public void ListByInvalidCount() { var completion = new ManualResetEvent(false); var response = new WebexApiEventArgs <List <Person> >(); person.List(null, null, -1, rsp => { response = rsp; completion.Set(); }); if (!completion.WaitOne(30000)) { Assert.Fail(); return; } Assert.IsFalse(response.IsSuccess); }
public void ListByEmailAndDisplayNameTestAndInvalidCount() { var completion = new ManualResetEvent(false); var response = new WebexApiEventArgs <List <Person> >(); person.List(other.Email, other.Name, -1, rsp => { response = rsp; completion.Set(); }); if (!completion.WaitOne(30000)) { Assert.Fail(); return; } Assert.IsFalse(response.IsSuccess); }
private bool JWtLogin() { string jwt = ConfigurationManager.AppSettings["JWT"] ?? ""; var completion = new ManualResetEvent(false); var response = new WebexApiEventArgs(); jwtAuth.AuthorizeWith(jwt, rsp => { response = rsp; completion.Set(); }); if (!completion.WaitOne(30000)) { Console.WriteLine("authorizeWith timeout"); return(false); } return(response.IsSuccess); }
public void AuthorizeTestInvalidAuthCode() { var completion = new ManualResetEvent(false); var response = new WebexApiEventArgs(); var auth = new OAuthAuthenticator(clientId, clientSecret, scope, redirectUri); auth.Authorize("a.b.c", r => { response = r; completion.Set(); }); if (!completion.WaitOne(30000)) { Assert.Fail(); } Assert.IsFalse(response.IsSuccess); }
public void AuthorizeTestInvalidJWTnull() { var completion = new ManualResetEvent(false); var auth = new JWTAuthenticator(); var response = new WebexApiEventArgs <string>(); auth.AccessToken(r => { response = r; completion.Set(); }); if (!completion.WaitOne(30000)) { Assert.Fail(); return; } Assert.IsFalse(response.IsSuccess); }
public void AuthorizeTestErrorJwt1() { var completion = new ManualResetEvent(false); var auth = new JWTAuthenticator(); var rspOfauth = new WebexApiEventArgs(); auth.AuthorizeWith("a.b.c", r => { rspOfauth = r; completion.Set(); }); if (!completion.WaitOne(30000)) { Assert.Fail(); return; } Assert.IsFalse(rspOfauth.IsSuccess); }
public void AuthorizeTestErrorJwt2() { var completion = new ManualResetEvent(false); var auth = new JWTAuthenticator(); string jwt = "yJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG5Eb2UiLCJpc3MiOiJjZDVjOWFmNy04ZWQzLTRlMTUtOTcwNS0wMjVlZjMwYjFiNmEifQ.oC-QPs-Eotaq4ovv2glwrHpxXQzqN1WvNlKmMAmtp24"; var rspOfauth = new WebexApiEventArgs(); auth.AuthorizeWith(jwt, r => { rspOfauth = r; completion.Set(); }); if (!completion.WaitOne(30000)) { Assert.Fail(); return; } Assert.IsFalse(rspOfauth.IsSuccess); }
public void ListByWrongDisplayNameTest() { var completion = new ManualResetEvent(false); var response = new WebexApiEventArgs <List <Person> >(); person.List(null, "notexist", null, rsp => { response = rsp; completion.Set(); }); if (!completion.WaitOne(30000)) { Assert.Fail(); return; } Assert.IsTrue(response.IsSuccess); List <Person> persons = response.Data; Assert.AreEqual(0, persons.Count); }
private static Person GetMe() { var completion = new ManualResetEvent(false); var response = new WebexApiEventArgs <Person>(); webex.People.GetMe(rsp => { response = rsp; completion.Set(); }); if (!completion.WaitOne(30000)) { return(null); } if (response.IsSuccess) { return(response.Data); } return(null); }
private bool DeleteMsg(string MsgId) { var completion = new ManualResetEvent(false); var response = new WebexApiEventArgs(); webex.Messages.Delete(MsgId, rsp => { response = rsp; completion.Set(); }); if (!completion.WaitOne(30000)) { return(false); } if (response.IsSuccess) { return(true); } return(false); }
private Message GetMsgBySpaceIdAndMessageId(string spaceId, string msgId) { var completion = new ManualResetEvent(false); var response = new WebexApiEventArgs <Message>(); webex.Messages.Get(spaceId, msgId, rsp => { response = rsp; completion.Set(); }); if (!completion.WaitOne(30000)) { return(null); } if (response.IsSuccess) { return(response.Data); } return(null); }
private Message PostMsg(string spaceId, string person, string text, List <Mention> mentions = null, List <LocalFile> files = null) { var completion = new ManualResetEvent(false); var response = new WebexApiEventArgs <Message>(); if (spaceId != null) { webex.Messages.PostToSpace(spaceId, text, mentions, files, rsp => { response = rsp; completion.Set(); }); } else if (person != null) { webex.Messages.PostToPerson(person, text, files, rsp => { response = rsp; completion.Set(); }); } if (!completion.WaitOne(30000)) { Console.WriteLine("postMsg outof time"); return(null); } if (response.IsSuccess) { return(response.Data); } Console.WriteLine($"postMsg fail {response.Error?.ErrorCode} {response.Error?.Reason}"); return(null); }
private Membership GetMembership(string memshipId) { var completion = new ManualResetEvent(false); var response = new WebexApiEventArgs <Membership>(); memberships.Get(memshipId, rsp => { response = rsp; completion.Set(); }); if (!completion.WaitOne(30000)) { return(null); } if (response.IsSuccess) { return(response.Data); } return(null); }
public Team CreateTeam(string teamName) { var completion = new ManualResetEvent(false); var response = new WebexApiEventArgs <Team>(); webex.Teams.Create(teamName, rsp => { response = rsp; completion.Set(); }); if (!completion.WaitOne(30000)) { return(null); } if (response.IsSuccess) { return(response.Data); } return(null); }
public bool DeleteTeam(string teamId) { var completion = new ManualResetEvent(false); var response = new WebexApiEventArgs(); webex.Teams.Delete(teamId, rsp => { response = rsp; completion.Set(); }); if (!completion.WaitOne(30000)) { return(false); } if (response.IsSuccess) { return(true); } return(false); }
private static bool DeleteSpace(string spaceId) { var completion = new ManualResetEvent(false); var response = new WebexApiEventArgs(); webex.Spaces.Delete(spaceId, rsp => { response = rsp; completion.Set(); }); if (!completion.WaitOne(30000)) { return(false); } if (response.IsSuccess) { return(true); } return(false); }
private static Space CreateSpace(string title) { var completion = new ManualResetEvent(false); var response = new WebexApiEventArgs <Space>(); webex.Spaces.Create(title, null, rsp => { response = rsp; completion.Set(); }); if (!completion.WaitOne(30000)) { return(null); } if (response.IsSuccess) { return(response.Data); } return(null); }
private List <TeamMembership> ListTeamMembership(string teamId, int?max = null) { var completion = new ManualResetEvent(false); var response = new WebexApiEventArgs <List <TeamMembership> >(); teamMemberships.List(teamId, max, rsp => { response = rsp; completion.Set(); }); if (!completion.WaitOne(30000)) { return(null); } if (response.IsSuccess) { return(response.Data); } return(null); }
private TeamMembership UpdateTeamMembership(string membershipId, bool?isModerator) { var completion = new ManualResetEvent(false); var response = new WebexApiEventArgs <TeamMembership>(); teamMemberships.Update(membershipId, isModerator, rsp => { response = rsp; completion.Set(); }); if (!completion.WaitOne(30000)) { return(null); } if (response.IsSuccess) { return(response.Data); } return(null); }
private bool DeleteTeamMembership(string membershipId) { var completion = new ManualResetEvent(false); var response = new WebexApiEventArgs(); teamMemberships.Delete(membershipId, rsp => { response = rsp; completion.Set(); }); if (!completion.WaitOne(30000)) { return(false); } if (response.IsSuccess) { return(true); } return(false); }
public void AuthorizeTestInvalidJWTexpire() { var completion = new ManualResetEvent(false); var auth = new JWTAuthenticator(); //expired JWT string jwt = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG5Eb2UiLCJleHAiOiIxNDA1OTc0ODczIiwiaXNzIjoiY2Q1YzlhZjctOGVkMy00ZTE1LTk3MDUtMDI1ZWYzMGIxYjZhIn0.brzUE0LYgEIkt4kK7s2QwrHkhgWPUwbj5XMVECAA_hQ"; var rspOfauth = new WebexApiEventArgs(); auth.AuthorizeWith(jwt, r => { rspOfauth = r; completion.Set(); }); if (!completion.WaitOne(30000)) { Assert.Fail(); return; } Assert.IsFalse(rspOfauth.IsSuccess); }