public void TestAsyncGetTicket() { BoxManager manager = new BoxManager(ApplicationKey, ServiceUrl, null); const int someValue = 78435; ManualResetEvent wait = new ManualResetEvent(false); bool callbackWasExecuted = false; OperationFinished<GetTicketResponse> response = resp => { Assert.IsNull(resp.Error); Assert.IsNotNull(resp.Ticket); Assert.IsInstanceOfType(typeof(int), resp.UserState); Assert.AreEqual(GetTicketStatus.Successful, resp.Status); int userStatus = (int) resp.UserState; Assert.AreEqual(someValue, userStatus); callbackWasExecuted = true; wait.Reset(); }; manager.GetTicket(response, someValue); wait.WaitOne(30000); Assert.IsTrue(callbackWasExecuted, "Callback was not executed. The operation has timed out"); }
public void TestSyncGetTicket() { BoxManager manager = new BoxManager(ApplicationKey, ServiceUrl, null); string ticket; GetTicketStatus operationStatus = manager.GetTicket(out ticket); Assert.AreEqual(GetTicketStatus.Successful, operationStatus); Assert.IsNotNull(ticket); }
public void TestAsyncGetTicketWithNoCallbackDelegate() { BoxManager manager = new BoxManager(ApplicationKey, ServiceUrl, null); try { manager.GetTicket(null); Assert.Fail("GetTicket(null) call has to fail"); } catch (Exception ex) { Assert.IsInstanceOfType(typeof(ArgumentException), ex); } }
public void TestAsyncGetAuthenticationToken() { BoxManager manager = new BoxManager(ApplicationKey, ServiceUrl, null); string ticket; ManualResetEvent wait = new ManualResetEvent(false); bool callbackWasExecuted = false; const int state = 874532489; OperationFinished<GetAuthenticationTokenResponse> callback = resp => { Assert.IsNull(resp.Error); Assert.IsInstanceOfType(typeof(int), resp.UserState); Assert.AreEqual(state, (int) resp.UserState); Assert.AreEqual(GetAuthenticationTokenStatus.Successful, resp.Status); Assert.IsNotNull(resp.AuthenticationToken); Assert.IsNotNull(resp.AuthenticatedUser); Assert.IsNotNull(resp.AuthenticatedUser.Email); Assert.IsNotNull(resp.AuthenticatedUser.Login); StringAssert.IsMatch(Login, resp.AuthenticatedUser.Login); Assert.AreNotEqual(0, resp.AuthenticatedUser.AccessID); Assert.AreNotEqual(0, resp.AuthenticatedUser.ID); //Assert.AreNotEqual(0, resp.AuthenticatedUser.MaxUploadSize); Assert.AreNotEqual(0, resp.AuthenticatedUser.SpaceAmount); Assert.AreNotEqual(0, resp.AuthenticatedUser.SpaceUsed); callbackWasExecuted = true; wait.Reset(); }; manager.GetTicket(out ticket); SubmitAuthenticationInformation(ticket); manager.GetAuthenticationToken(ticket, callback, state); wait.WaitOne(30000); Assert.IsTrue(callbackWasExecuted, "Callback was not executed. The operation has timed out"); }
protected void InitializeContext() { BoxManager manager = new BoxManager(ApplicationKey, ServiceUrl, null); string ticket; string token; User user; manager.GetTicket(out ticket); SubmitAuthenticationInformation(ticket); manager.GetAuthenticationToken(ticket, out token, out user); Context = new TestContext { AuthenticatedUser = user, Manager = manager, Ticket = ticket, Token = token }; }
public void TestAsyncGetAuthenticationTokenIfUserIsNotLoggedIn() { BoxManager manager = new BoxManager(ApplicationKey, ServiceUrl, null); string ticket; ManualResetEvent wait = new ManualResetEvent(false); bool callbackWasExecuted = false; const int state = 874524489; OperationFinished<GetAuthenticationTokenResponse> callback = resp => { Assert.IsNull(resp.Error); Assert.IsInstanceOfType(typeof (int), resp.UserState); Assert.AreEqual(state, (int) resp.UserState); Assert.AreEqual(GetAuthenticationTokenStatus.NotLoggedID, resp.Status); Assert.IsEmpty(resp.AuthenticationToken); Assert.IsNull(resp.AuthenticatedUser); callbackWasExecuted = true; wait.Reset(); }; manager.GetTicket(out ticket); manager.GetAuthenticationToken(ticket, callback, state); wait.WaitOne(30000); Assert.IsTrue(callbackWasExecuted, "Callback was not executed. The operation has timed out"); }
public void TestSyncGetAuthenticationTokenWithWrongTicket() { BoxManager manager = new BoxManager(ApplicationKey, ServiceUrl, null); string ticket; string token; User user; manager.GetTicket(out ticket); SubmitAuthenticationInformation(ticket); GetAuthenticationTokenStatus status = manager.GetAuthenticationToken(Guid.Empty.ToString(), out token, out user); Assert.AreEqual(GetAuthenticationTokenStatus.Failed, status); Assert.IsEmpty(token); Assert.IsNull(user); }
public void TestSyncGetAuthenticationTokenIfUserIsNotLoggedIn() { BoxManager manager = new BoxManager(ApplicationKey, ServiceUrl, null); string ticket; string token; User user; manager.GetTicket(out ticket); GetAuthenticationTokenStatus status = manager.GetAuthenticationToken(ticket, out token, out user); Assert.AreEqual(GetAuthenticationTokenStatus.NotLoggedID, status); Assert.IsEmpty(token); Assert.IsNull(user); }
public void TestSyncGetAuthenticationToken() { BoxManager manager = new BoxManager(ApplicationKey, ServiceUrl, null); string ticket; string token; User user; manager.GetTicket(out ticket); SubmitAuthenticationInformation(ticket); GetAuthenticationTokenStatus status = manager.GetAuthenticationToken(ticket, out token, out user); Assert.AreEqual(GetAuthenticationTokenStatus.Successful, status); Assert.IsNotNull(token); Assert.IsNotNull(user); Assert.IsNotNull(user.Email); Assert.IsNotNull(user.Login); StringAssert.IsMatch(Login, user.Login); Assert.AreNotEqual(0, user.AccessID); Assert.AreNotEqual(0, user.ID); //Assert.AreNotEqual(0, user.MaxUploadSize); Assert.AreNotEqual(0, user.SpaceAmount); Assert.AreNotEqual(0, user.SpaceUsed); }
public void TestAsyncGetAuthenticationTokenWithNoCallbackDelegate() { BoxManager manager = new BoxManager(ApplicationKey, ServiceUrl, null); string ticket; manager.GetTicket(out ticket); SubmitAuthenticationInformation(ticket); try { manager.GetAuthenticationToken(ticket, null); Assert.Fail("GetAuthenticationToken(ticket, null) has to fail"); } catch (Exception ex) { Assert.IsInstanceOfType(typeof(ArgumentException), ex); } }
static void Main(string[] args) { var assemblyFile = "Willcraftia.Net.Box.Demo.ApiKey.dll"; var apiKeyClassName = "Willcraftia.Net.Box.Demo.ApiKey"; var boxManager = new BoxManager(assemblyFile, apiKeyClassName); //---------------------------------------------------------------- // // get_ticket // Prompt("Press enter key to request get_ticket."); string ticket; try { ticket = boxManager.GetTicket(); Console.WriteLine("Ticket: " + ticket); } catch (Exception e) { Prompt(e); return; } //---------------------------------------------------------------- // // redirect // Prompt("Press enter key to redirect you to Box Application auth page."); boxManager.RedirectUserAuth(ticket); //---------------------------------------------------------------- // // get_auth_token // Prompt("Press enter key to request get_auth_token."); BoxSession session; try { session = boxManager.GetAuthToken(ticket); Console.WriteLine("AuthToken: " + session.AuthToken); } catch (Exception e) { Prompt(e); return; } //---------------------------------------------------------------- // // get_account_tree[root] // Prompt("Press enter key to request get_account_tree[root]."); Folder rootFolder; try { rootFolder = session.GetAccountTreeRoot("onelevel", "nozip"); Console.WriteLine("Root Folder: " + rootFolder); } catch (Exception e) { Prompt(e); return; } string demoFolderName = "DemoFolder"; long demoFolderId = -1; var demoFolder = rootFolder.FindFolderByName(demoFolderName); if (demoFolder != null) { demoFolderId = demoFolder.Id; } //---------------------------------------------------------------- // // create_folder // if (demoFolderId < 0) { Prompt("Press enter key to request create_folder."); CreatedFolder createdFolder; try { createdFolder = session.CreateFolder(0, demoFolderName, true); } catch (Exception e) { Prompt(e); return; } demoFolderId = createdFolder.FolderId; } else { Prompt("Press enter key to skip create_folder."); } //---------------------------------------------------------------- // // upload // Prompt("Press enter key to upload files."); var uploadFiles = new UploadFile[] { new UploadFile { ContentType = "text/xml;charset=utf-8", Name = "Demo_0.xml", Content = @"<?xml version=""1.0""?><Demo>Demo File 0</Demo>" }, new UploadFile { ContentType = "text/xml;charset=utf-8", Name = "Demo_1.xml", Content = @"<?xml version=""1.0""?><Demo>Demo File 1</Demo>" } }; List <UploadedFile> uploadedFiles; try { uploadedFiles = session.Upload(demoFolderId, uploadFiles, false, "Demo message.", null); Console.WriteLine("Uploaded Files:"); foreach (var uploadedFile in uploadedFiles) { Console.WriteLine(uploadedFile); } } catch (Exception e) { Prompt(e); return; } //---------------------------------------------------------------- // // overwrite // Prompt("Press enter key to overwrite a file."); var overwriteFile = new UploadFile { ContentType = "text/xml;charset=utf-8", Name = "Demo_0.xml", Content = @"<?xml version=""1.0""?><Demo>Demo File 0 Overwritten</Demo>" }; try { var overwrittenFile = session.Overwrite(uploadedFiles[0].Id, overwriteFile, false, "Demo message.", null); Console.WriteLine("Overwritten File:"); Console.WriteLine(overwrittenFile); } catch (Exception e) { Prompt(e); return; } //---------------------------------------------------------------- // // download // Prompt("Press enter key to download a file."); string downloadedFile; using (var downloadStream = session.Download(uploadedFiles[0].Id)) { using (var memoryStream = new MemoryStream()) { var bytes = new byte[1024]; int byteCount = 0; while ((byteCount = downloadStream.Read(bytes, 0, bytes.Length)) != 0) { memoryStream.Write(bytes, 0, byteCount); } memoryStream.Position = 0; var reader = new StreamReader(memoryStream); downloadedFile = reader.ReadToEnd(); } } Console.WriteLine("Result:"); Console.WriteLine(downloadedFile); //---------------------------------------------------------------- // // invite_collaborators // Prompt("Press enter key to request invite_collaborators."); string[] emails = { "*****@*****.**" }; List <InvitedCollaborator> invitedCollaborators; try { invitedCollaborators = session.InviteCollaboratorsToFolder(demoFolderId, null, emails, Role.Viewer, false, true); Console.WriteLine("Invited Collaborators:"); foreach (var invited in invitedCollaborators) { Console.WriteLine(invited); } } catch (BoxStatusException e) { if (e.Status == "user_already_collaborator") { Prompt("The specified users were already collaborators."); } else { Prompt(e); return; } } //---------------------------------------------------------------- // // get_user_id // // ※get_user_id は collaborator として既知でなければ user_id の取得を許可していない模様。 // Prompt("Press enter key to request get_user_id."); var userEmail = "*****@*****.**"; try { var resolvedUserId = session.GetUserId(userEmail); Console.WriteLine(string.Format("The ID of the user '{0}' is '{1}'.", userEmail, resolvedUserId)); } catch { Prompt(string.Format("The user '{0}' could not be resolved.", userEmail)); } //---------------------------------------------------------------- // // get_file_info // Prompt("Press enter key to request get_file_info."); try { var fileInfo = session.GetFileInfo(uploadedFiles[0].Id); Console.WriteLine(string.Format("The file '{0}' information: ", uploadedFiles[0].Id)); Console.WriteLine(fileInfo); } catch (Exception e) { Prompt(e); return; } //---------------------------------------------------------------- // // delete[file] // Prompt("Press enter key to request delete[file]."); try { session.DeleteFile(uploadedFiles[0].Id); Console.WriteLine(string.Format("The file '{0}' was deleted.", uploadedFiles[0].Id)); } catch (Exception e) { Prompt(e); return; } //---------------------------------------------------------------- // // delete[folder] // Prompt("Press enter key to request delete[folder]."); try { session.DeleteFolder(demoFolderId); Console.WriteLine(string.Format("The folder '{0}' was deleted.", demoFolderId)); } catch (Exception e) { Prompt(e); return; } Prompt("Press enter key to exist this application."); }