예제 #1
0
        public static void Run()
        {
            try
            {
                if (System.Diagnostics.Debugger.IsAttached)
                {
                    System.Diagnostics.Debugger.Break();
                }


                var stopwatch = new System.Diagnostics.Stopwatch();

                stopwatch.Start();


                // authenticate service
                var authenticateMethodInfo = new AuthenticateMethodInfo();

                authenticateMethodInfo.Invoke(false);


                // get all files in root
                var getFilesMethodInfo = new GetFilesMethodInfo();

                FileInfo getFilesMethodInfoResult = getFilesMethodInfo.Invoke("", true, true, true);


                // create a new folder

                var insertFileMethodInfo = new InsertFileMethodInfo();

                FileInfo insertFileMethodInfoResult = insertFileMethodInfo.Invoke("", "testinsertFolder", true);

                string testFolderId = insertFileMethodInfoResult.Id;


                // rename the new folder
                var renameFileMethodInfo = new RenameFileMethodInfo();

                FileInfo renameFileMethodInfoResult = renameFileMethodInfo.Invoke(testFolderId,
                                                                                  "testrenameFolder",
                                                                                  null);


                // create a new file
                insertFileMethodInfo = new InsertFileMethodInfo();

                insertFileMethodInfoResult = insertFileMethodInfo.Invoke(testFolderId, "testinsertfile.txt");

                string testFileId = insertFileMethodInfoResult.Id;


                // write text to the new file and upload
                DriveService.WriteAllText(insertFileMethodInfoResult.FilePath, "testuploadfile-" + DateTime.Now);

                var uploadFileMethodInfo = new UploadFileMethodInfo();

                FileInfo uploadFileMethodInfoResult = uploadFileMethodInfo.Invoke(testFileId);


                DriveService.DeleteFile(insertFileMethodInfoResult.FilePath);

                // download the new file
                var downloadFileMethodInfo = new DownloadFileMethodInfo();

                FileInfo downloadFileMethodInfoResult = downloadFileMethodInfo.Invoke(testFileId);


                // rename the new file
                renameFileMethodInfo = new RenameFileMethodInfo();

                renameFileMethodInfoResult = renameFileMethodInfo.Invoke(testFileId, "testrenamefile.txt", null);


                // trash the folder and file
                var trashFileMethodInfo = new TrashFileMethodInfo();

                var trashFileIds = new List <string>();

                trashFileIds.Add(testFileId);
                trashFileIds.Add(testFolderId);

                List <string> trashedFileIds = trashFileMethodInfo.Invoke(trashFileIds);


                // untrash the folder and file
                var untrashFileMethodInfo = new UntrashFileMethodInfo();

                var untrashFileIds = new List <string>();

                untrashFileIds.Add(testFolderId);
                untrashFileIds.Add(testFileId);

                List <string> untrashedFileIds = untrashFileMethodInfo.Invoke(untrashFileIds);


                // copy the file into its own folder
                var copyFileMethodInfo = new CopyFileMethodInfo();

                var copyFileIds = new List <string>();

                copyFileIds.Add(testFileId);

                List <string> copiedFileIds = copyFileMethodInfo.Invoke(testFolderId, copyFileIds);

                string testFileId2 = copiedFileIds[0];


                // rename the copied file
                renameFileMethodInfo = new RenameFileMethodInfo();

                renameFileMethodInfoResult = renameFileMethodInfo.Invoke(testFileId2, "testcopiedfile.txt", null);


                // create a new folder
                insertFileMethodInfo = new InsertFileMethodInfo();

                insertFileMethodInfoResult = insertFileMethodInfo.Invoke("", "testinsertFolder2", true);

                string testFolderId2 = insertFileMethodInfoResult.Id;


                // copy testFile2 into the new folder
                copyFileMethodInfo = new CopyFileMethodInfo();

                copyFileIds = new List <string>();

                copyFileIds.Add(testFileId2);

                copiedFileIds = copyFileMethodInfo.Invoke(testFolderId2, copyFileIds);


                // move testFile into the new folder
                var moveFileMethodInfo = new MoveFileMethodInfo();

                var moveFileIds = new List <string>();

                moveFileIds.Add(testFileId);

                List <string> movedFileIds = moveFileMethodInfo.Invoke(testFolderId2, moveFileIds);


                // rename the copied file
                renameFileMethodInfo = new RenameFileMethodInfo();

                renameFileMethodInfoResult = renameFileMethodInfo.Invoke(testFileId, "testcopiedfile2.txt", null);


                // copy testFolder into new folder
                copyFileMethodInfo = new CopyFileMethodInfo();

                copyFileIds = new List <string>();

                copyFileIds.Add(testFolderId);

                copiedFileIds = copyFileMethodInfo.Invoke(testFolderId2, copyFileIds);

                string testSubFolderId = copiedFileIds[0];


                // move testFolder2 into testFolder
                moveFileMethodInfo = new MoveFileMethodInfo();

                moveFileIds = new List <string>();

                moveFileIds.Add(testFolderId2);

                movedFileIds = moveFileMethodInfo.Invoke(testFolderId, moveFileIds);


                // trash test folders

                trashFileIds = new List <string>();

                trashFileIds.Add(testFolderId);
                trashFileIds.Add(testFolderId2);

                trashedFileIds = trashFileMethodInfo.Invoke(trashFileIds);


                stopwatch.Stop();

                System.Windows.Forms.MessageBox.Show("Successfully ran test cases in " + stopwatch.Elapsed.TotalSeconds +
                                                     " seconds");
            }
            catch (Exception exception)
            {
                System.Windows.Forms.MessageBox.Show("Error running test cases - " + exception.Message);
            }
        }