コード例 #1
0
ファイル: Ged.cs プロジェクト: clasie/T-P
 /// <summary>
 /// For test purposes. After uploaded and downloaded a file
 /// to and from the GED this method creates locally the downloaded file
 /// providing an easy way to compare the source and the
 /// downladed.
 /// </summary>
 /// <param name="gedDownloadAnswer"></param>
 /// <param name="completeFilePath">If empty the file is saved in your local temp folder</param>
 /// <returns></returns>
 public GEDJsonClassRequestResponse SaveDownloadedFile(
     GEDJsonClassRequestResponse gedDownloadAnswer,
     string completeFilePath = GedConstants.StringEmpty
     )
 {
     try
     {
         //Obtimistic
         gedDownloadAnswer.StatusFileCopiedLocally = true;
         //Automatic construction of file path
         if (string.IsNullOrWhiteSpace(completeFilePath))
         {
             completeFilePath = Path.Combine(Path.GetTempPath(), gedDownloadAnswer.name);
         }
         //Set the target file path.
         gedDownloadAnswer.PathFileCopiedLocally = completeFilePath;
         byte[] unsigned = (byte[])(Array)gedDownloadAnswer.file;
         //Copy the file
         using (var fs = new FileStream(completeFilePath, FileMode.Create, FileAccess.Write))
         {
             fs.Write(unsigned, 0, unsigned.Length);
         }
     }
     catch (Exception ex)
     {
         gedDownloadAnswer.StatusFileCopiedLocally = false;
         gedDownloadAnswer.error = ex.ToString();
     }
     return(gedDownloadAnswer);
 }
コード例 #2
0
        /// <summary>
        /// Generates custom exceptions to the user or to the internal dll
        /// </summary>
        /// <param name="responsebody"></param>
        /// <returns>GEDAnswer</returns>
        public static GEDJsonClassRequestResponse UploadFileTestExecute(string responsebody, int bytesOrinal = GedConstants.MinSizeExpected)
        {
            //Convert json to object
            GEDJsonClassRequestResponse gedJsonClassTokenRequest =
                Newtonsoft.Json.JsonConvert.DeserializeObject <GEDJsonClassRequestResponse>(responsebody);

            //Afin de testing
            gedJsonClassTokenRequest.sizeExpected = bytesOrinal;

            //Something wrong happened when uploading file on the GED
            //bool x = gedJsonClassTokenRequest.error != null;
            //bool x2 = gedJsonClassTokenRequest.error != "null";
            if (gedJsonClassTokenRequest.error != null && gedJsonClassTokenRequest.error != "null")
            {
                //MissingOrInvalidToken -> retry to refresh the token till
                //
                //   -> TooManyAttempts exception:
                //
                //          This exception will be catch internally because the dll have to manage a retry with a new token
                //          by itself -> if at the end the user is blocked another exception is responsible
                //          to alert the user of this dll.
                //          Anyway the token calls are alloed maximum 2 time according to the folloing constant:
                //           -> GedConstants.LoopGetTokenMaxConterValue.
                //
                if (InternalErrorMessagesUploadFile.Any(s => s.Contains(gedJsonClassTokenRequest.error)))
                {
                    throw new GEDTokenException(gedJsonClassTokenRequest.error);
                }
                //UploadFiles file exceptions to the final user
                else if (ExternalErrorMessagesUploadFile.Any(s => s.Contains(gedJsonClassTokenRequest.error)))
                {
                    throw new GEDUploadFileException(gedJsonClassTokenRequest.error);
                }
                //Unknown error
                else
                {
                    throw new GEDUploadFileUnknownException(gedJsonClassTokenRequest.error);
                }
            }
            return(gedJsonClassTokenRequest); // new GedUploadAnswer() { RawResponseBody = responsebody };
        }
コード例 #3
0
ファイル: Ged.cs プロジェクト: clasie/T-P
        /// <summary>
        /// Vérifie si la taille du fichier uploadé puis downloadé puis
        /// sauvé sur le dique local puis rechargé pour en extraire sa taille
        /// concorde avec la taille à l'upload.
        /// Toutes les info updatées sont retournées dans
        /// l'instance en paramètre.
        /// </summary>
        /// <param name="jsonResponse"></param>
        /// <returns></returns>
        public bool DoubleCheckUploadedFile(GEDJsonClassRequestResponse jsonDownloadResponse, int sizeExpected)
        {
            bool passed = true;

            //File correctly copied locally
            if (SaveDownloadedFile(jsonDownloadResponse).StatusFileCopiedLocally)
            {
                FileInfo info       = new FileInfo(jsonDownloadResponse.PathFileCopiedLocally);
                var      sizeOnDisk = (int)info.Length;
                if (!sizeExpected.Equals(sizeOnDisk))
                {
                    passed = false;
                    jsonDownloadResponse.doubleCheckLocalSizeStatusError =
                        $"{TP.Resources.Common.CommonResources.Erreur_SizeExpected} {sizeExpected} {TP.Resources.Common.CommonResources.Erreur_SizeOnDisk} {sizeOnDisk}";
                }
            }
            else
            {
                passed = false;
            }
            return(passed);
        }
コード例 #4
0
        public void TPGED_DownloadAFacturePdf_TestTrue()
        {
            try
            {
                #region Arrange: Init instance
                GEDJsonClassRequestResponse gedUploadAnswerAccess = new GEDJsonClassRequestResponse();
                GEDJsonClassRequestResponse gedDownloadAnswer     = new GEDJsonClassRequestResponse();
                bool passed    = false;
                var  gedAccess = new GED.Access.Ged(
                    ConstantsTPGed.GedUserLogin,
                    ConstantsTPGed.GedUserPasswordWEB,
                    ConstantsTPGed.GedUrlToTestWEB
                    );
                var fileUri = ResourceFileHelper.GetResourceFilePath(ConstantsTPGed.GEDFacturePdf_ResourceFileName);
                var barCode = Guid.NewGuid().ToString();
                #endregion

                #region Act: Uploader le fichier
                try
                {
                    //Pousser la facture
                    gedUploadAnswerAccess =
                        gedAccess.UploadFile(
                            barCode,
                            fileUri,
                            GedService.DocTypesEnum.FAC);

                    //Récupérer la facture
                    gedDownloadAnswer =
                        gedAccess.DownloadFile(
                            barCode,
                            GedService.DocTypesEnum.FAC);
                    //GED.Access.Utils.Files.DisplayTheFile(gedDownloadAnswer.);

                    passed = true;
                }

                #region Gestion exception liées au credentials
                //Mauvais credentials (attention après 2 erreurs le user est locké)
                catch (GEDInvalidCredentialsException invalidCredentialsException)
                {
                    passed = false;
                }
                //User locké
                catch (GEDUserLockedTooMuchFailingAttempsToConnectException userLockedTooMuchFailingAttempsToConnectException)
                {
                    passed = false;
                }
                //Erreur de connexion inconnue
                catch (GEDConnectionUnknownException connectionUnknownException)
                {
                    passed = false;
                }
                #endregion Gestion exception liées au credentials

                #region Gestion exception liées à l'upload
                //Erreur gérée lors de l'upload
                catch (GEDUploadFileException uploadFileException)
                {
                    passed = false;
                }
                //Erreur inattendue lors de l'upload
                catch (GEDUploadFileUnknownException uploadFileUnknownException)
                {
                    passed = false;
                }
                //Erreur Dll GED inconnue
                catch (GEDGlobalUnknownException gEDGlobalUnknownException)
                {
                    passed = false;
                }
                #endregion Gestion exception liées à l'upload

                #endregion Act: Uploader le fichier

                #region Asserts
                //Pas d'exceptions levées
                Assert.True(passed);
                //On a bien des bytes pour le fichier
                Assert.True(gedDownloadAnswer != null);
                //Pas d'erreur retournée
                Assert.True(string.IsNullOrEmpty(gedDownloadAnswer.error));
                //Nom de fichiers non vide
                Assert.True(!string.IsNullOrEmpty(gedDownloadAnswer.name));
                #endregion

                #region Clear
                #endregion
            }
            catch (Exception ex)
            {
                Assert.True(false, ex.ToString());
            }
        }
コード例 #5
0
ファイル: TPGEDUploadAFileTests.cs プロジェクト: clasie/T-P
        public void TPGED_ConcatenateFacuresAndConcatenateAnnexes_TestTrue()
        {
            try
            {
                #region Arrange: Init instance
                //Upload
                GEDJsonClassRequestResponse gedAnswerUploadFact1  = new GEDJsonClassRequestResponse();
                GEDJsonClassRequestResponse gedAnswerUploadFact2  = new GEDJsonClassRequestResponse();
                GEDJsonClassRequestResponse gedAnswerUploadAnnex1 = new GEDJsonClassRequestResponse();
                GEDJsonClassRequestResponse gedAnswerUploadAnnex2 = new GEDJsonClassRequestResponse();
                //Download
                GEDJsonClassRequestResponse gedDownloadAnswerFacture1           = new GEDJsonClassRequestResponse();
                GEDJsonClassRequestResponse gedDownloadAnswerFacture2V10        = new GEDJsonClassRequestResponse();
                GEDJsonClassRequestResponse gedDownloadAnswerFacture2V00        = new GEDJsonClassRequestResponse();
                GEDJsonClassRequestResponse gedDownloadAnswerAnnexeConcatenee   = new GEDJsonClassRequestResponse();
                GEDJsonClassRequestResponse gedDownloadAnswerAnnexeOriginalev00 = new GEDJsonClassRequestResponse();

                bool passed    = true;
                var  gedAccess = new Ged(
                    ConstantsTPGed.GedUserLogin,
                    ConstantsTPGed.GedUserPasswordWEB,
                    ConstantsTPGed.GedUrlToTestWEB
                    );
                var barCode = Guid.NewGuid().ToString();
                //Elements mesures upload
                int sizeGedAnswerUploadFact   = ConstantsTPGed.MinSize;
                int sizeGedAnswerUploadAnnex1 = ConstantsTPGed.MinSize;
                int sizeGedAnswerUploadAnnex2 = ConstantsTPGed.MinSize;
                //Elements mesures download
                int sizeGedDownloadAnswerFacture1           = ConstantsTPGed.MinSize;
                int sizeGedDownloadAnswerFacture2           = ConstantsTPGed.MinSize;
                int sizeGedDownloadAnswerAnnexeConcatenee   = ConstantsTPGed.MinSize;
                int sizegedDownloadAnswerAnnexeOriginalev00 = ConstantsTPGed.MinSize;
                int sizegedDownloadAnswerFacture2v10        = ConstantsTPGed.MinSize;
                int sizegedDownloadAnswerFacture2v00        = ConstantsTPGed.MinSize;
                #endregion

                #region Act: Uploader le fichier
                try
                {
                    //Pousser la facture
                    gedAnswerUploadFact1 = gedAccess.UploadFile(
                        barCode,
                        ResourceFileHelper.GetResourceFilePath(ConstantsTPGed.GEDFacturePdf_ResourceFileName),
                        GedService.DocTypesEnum.FAC);

                    sizeGedAnswerUploadFact = gedAnswerUploadFact1.sizeExpected;

                    //Upload the associated annex 1
                    gedAnswerUploadAnnex1 = gedAccess.UploadFile(
                        barCode,
                        ResourceFileHelper.GetResourceFilePath(ConstantsTPGed.GEDFacturePdfAnnexe1_ResourceFileName),
                        GedService.DocTypesEnum.AFAC);

                    sizeGedAnswerUploadAnnex1 = gedAnswerUploadAnnex1.sizeExpected;

                    //Upload the associated annex 2
                    gedAnswerUploadAnnex2 = gedAccess.UploadFile(
                        barCode,
                        ResourceFileHelper.GetResourceFilePath(ConstantsTPGed.GEDFacturePdfAnnexe2_ResourceFileName),
                        GedService.DocTypesEnum.AFAC);

                    sizeGedAnswerUploadAnnex2 = gedAnswerUploadAnnex2.sizeExpected;

                    //Récupérer la facture
                    gedDownloadAnswerFacture1 =
                        gedAccess.DownloadFile(
                            barCode,
                            GedService.DocTypesEnum.FAC);

                    sizeGedDownloadAnswerFacture1 = gedDownloadAnswerFacture1.file.Length;

                    if (gedAccess.SaveDownloadedFile(gedDownloadAnswerFacture1).StatusFileCopiedLocally)
                    {
                        Console.WriteLine(ConstantsTPGed.ConsolePassed);
                    }
                    else
                    {
                        passed = false;
                        Console.WriteLine(ConstantsTPGed.ConsoleNotPassed);
                    }

                    //Récupérer l'annexe concatenee, elle doit être plus lourde que la première fois.
                    gedDownloadAnswerAnnexeConcatenee =
                        gedAccess.DownloadFile(
                            barCode,
                            GedService.DocTypesEnum.AFAC);

                    sizeGedDownloadAnswerAnnexeConcatenee = gedDownloadAnswerAnnexeConcatenee.file.Length;

                    //souver localement la facture originale
                    if (gedAccess.SaveDownloadedFile(gedDownloadAnswerAnnexeConcatenee).StatusFileCopiedLocally)
                    {
                        Console.WriteLine(ConstantsTPGed.ConsolePassed);
                    }
                    else
                    {
                        passed = false;
                        Console.WriteLine(ConstantsTPGed.ConsoleNotPassed);
                    }

                    //Récupérer la première annexe v0.0
                    gedDownloadAnswerAnnexeOriginalev00 =
                        gedAccess.DownloadFile(
                            barCode,
                            GedService.DocTypesEnum.AFAC,
                            0, 0);

                    sizegedDownloadAnswerAnnexeOriginalev00 = gedDownloadAnswerAnnexeOriginalev00.file.Length;

                    //L'annexe originale
                    if (gedAccess.SaveDownloadedFile(gedDownloadAnswerAnnexeOriginalev00).StatusFileCopiedLocally)
                    {
                        Console.WriteLine(ConstantsTPGed.ConsolePassed);
                    }
                    else
                    {
                        passed = false;
                        Console.WriteLine(ConstantsTPGed.ConsoleNotPassed);
                    }

                    //Tester le versionning des Factures.
                    //On ajoute une nouvelle facture avec le même code barre
                    gedAnswerUploadFact2 = gedAccess.UploadFile(
                        barCode,
                        ResourceFileHelper.GetResourceFilePath(ConstantsTPGed.GEDFacturePdf2_ResourceFileName),
                        GedService.DocTypesEnum.FAC);

                    sizeGedDownloadAnswerFacture2 = gedAnswerUploadFact2.sizeExpected;

                    ///
                    /// PAS ENCORE GERE PAR GED : version des factures
                    ///
                    //Récupérer la dernière version facture 1.0
                    //gedDownloadAnswerFacture2V10 =
                    //    gedAccess.DownloadFile(
                    //        barCode,
                    //        GedService.DocTypesEnum.FAC);

                    //sizegedDownloadAnswerFacture2v10 = gedDownloadAnswerFacture2V10.file.Length;

                    //if (gedAccess.SaveDownloadedFile(gedDownloadAnswerFacture2V10).StatusFileCopiedLocally)
                    //{
                    //    Console.WriteLine(ConstantsTPGed.ConsolePassed);
                    //}
                    //else
                    //{
                    //    passed = false;
                    //    Console.WriteLine(ConstantsTPGed.ConsoleNotPassed);
                    //}

                    ///
                    /// PAS ENCORE GERE PAR GED : version des annexes
                    ///

                    //Récupérer la première version 0.0
                    gedDownloadAnswerFacture2V00 =
                        gedAccess.DownloadFile(
                            barCode,
                            GedService.DocTypesEnum.FAC, 0, 0);

                    //sizegedDownloadAnswerFacture2v00 = gedDownloadAnswerFacture2V00.file.Length
                    if (gedAccess.SaveDownloadedFile(gedDownloadAnswerFacture2V00).StatusFileCopiedLocally)
                    {
                        Console.WriteLine(ConstantsTPGed.ConsolePassed);
                    }
                    else
                    {
                        passed = false;
                        Console.WriteLine(ConstantsTPGed.ConsoleNotPassed);
                    }
                }

                #region Gestion exception liées au credentials
                //Mauvais credentials (attention après 2 erreurs le user est locké)
                catch (GEDInvalidCredentialsException invalidCredentialsException)
                {
                    passed = false;
                }
                //User locké
                catch (GEDUserLockedTooMuchFailingAttempsToConnectException userLockedTooMuchFailingAttempsToConnectException)
                {
                    passed = false;
                }
                //Erreur de connexion inconnue
                catch (GEDConnectionUnknownException connectionUnknownException)
                {
                    passed = false;
                }
                #endregion Gestion exception liées au credentials

                #region Gestion exception liées à l'upload
                //Erreur gérée lors de l'upload
                catch (GEDUploadFileException uploadFileException)
                {
                    passed = false;
                }
                //Erreur inattendue lors de l'upload
                catch (GEDUploadFileUnknownException uploadFileUnknownException)
                {
                    passed = false;
                }
                //Erreur Dll GED inconnue
                catch (GEDGlobalUnknownException gEDGlobalUnknownException)
                {
                    passed = false;
                }
                #endregion Gestion exception liées à l'upload

                #endregion Act: Uploader le fichier

                #region Asserts
                //Pas d'exceptions levées
                Assert.True(passed);

                ///
                /// Facture
                ///
                //On a bien des bytes
                Assert.True(sizeGedAnswerUploadFact > ConstantsTPGed.MinSize);
                //Pas d'erreur retournée
                Assert.True(string.IsNullOrEmpty(gedDownloadAnswerFacture1.error));
                //Nom de fichiers non vide
                Assert.True(!string.IsNullOrEmpty(gedDownloadAnswerFacture1.name));
                //La taille de la facture uploadé doit être la même que le downloadé
                Assert.True(sizeGedDownloadAnswerFacture1.Equals(sizeGedAnswerUploadFact));

                ///
                /// Annexe 1
                ///
                //On a bien des bytes
                Assert.True(sizeGedAnswerUploadAnnex1 > ConstantsTPGed.MinSize);
                //Pas d'erreur retournée
                Assert.True(string.IsNullOrEmpty(gedAnswerUploadAnnex1.error));
                //Nom de fichiers non vide
                Assert.True(!string.IsNullOrEmpty(gedAnswerUploadAnnex1.name));

                ///
                /// Annexe 2
                ///
                //On a bien des bytes
                Assert.True(sizeGedAnswerUploadAnnex2 > ConstantsTPGed.MinSize);
                //Pas d'erreur retournée
                Assert.True(string.IsNullOrEmpty(gedAnswerUploadAnnex2.error));
                //Nom de fichiers non vide
                Assert.True(!string.IsNullOrEmpty(gedAnswerUploadAnnex2.name));

                ///
                /// Annexe 1 et 2
                ///
                //La concatenation des 2 doit être supérieure ou égale à chacune des 2 prises séparément
                Assert.True(sizeGedDownloadAnswerAnnexeConcatenee >= sizeGedAnswerUploadAnnex1);
                Assert.True(sizeGedDownloadAnswerAnnexeConcatenee >= sizeGedAnswerUploadAnnex2);

                ///
                /// PAS ENCORE GERE PAR GED : version des annexes
                ///
                /// Récup de l'annexe originale v0.0
                ///
                //L'annexe 1 récupée (v0.0) doit avoir la taille de l'annexe 1 originale
                //Gestion version annexes: PAS ENCORE GERE PAR GED -> mis en commentaire
                //Assert.True(sizegedDownloadAnswerAnnexeOriginalev00.Equals(sizeGedAnswerUploadAnnex1));

                ///
                /// PAS ENCORE GERE PAR GED: version des factures
                ///
                //La facture 1 récupée (v0.0) doit avoir la taille de la facture 1 originale
                //Assert.True(sizegedDownloadAnswerFacture2v00.Equals(sizeGedDownloadAnswerFacture1));

                #endregion

                #region Clear
                #endregion
            }
            catch (Exception ex)
            {
                Assert.True(false, ex.ToString());
            }
        }
コード例 #6
0
ファイル: TPGEDUploadAFileTests.cs プロジェクト: clasie/T-P
        public void TPGED_UploadOnePdfFactureAnnex_TestTrue()
        {
            try
            {
                #region Arrange: Init instance
                GEDJsonClassRequestResponse gedUploadAnswerSecondAccess = new GEDJsonClassRequestResponse();
                bool passed    = false;
                var  gedAccess = new Ged(
                    ConstantsTPGed.GedUserLogin,
                    ConstantsTPGed.GedUserPassword,
                    ConstantsTPGed.GedUrlToTestWEB
                    );
                var fileUri = ResourceFileHelper.GetResourceFilePath(ConstantsTPGed.GEDFacturePdf_ResourceFileName);
                var barCode = Guid.NewGuid().ToString();
                #endregion

                #region Act: Uploader le fichier
                try
                {
                    //Upload a file once
                    gedAccess.UploadFile(
                        barCode,
                        fileUri,
                        GedService.DocTypesEnum.FAC);

                    //Upload the associated annex
                    gedUploadAnswerSecondAccess =
                        gedAccess.UploadFile(
                            barCode,
                            fileUri,///!!! un autre file?
                            GedService.DocTypesEnum.AFAC);

                    passed = true;
                }

                #region Gestion exception liées au credentials
                //Mauvais credentials (attention après 2 erreurs le user est locké)
                catch (GEDInvalidCredentialsException invalidCredentialsException)
                {
                    passed = false;
                }
                //User locké
                catch (GEDUserLockedTooMuchFailingAttempsToConnectException userLockedTooMuchFailingAttempsToConnectException)
                {
                    passed = false;
                }
                //Erreur de connexion inconnue
                catch (GEDConnectionUnknownException connectionUnknownException)
                {
                    passed = false;
                }
                #endregion Gestion exception liées au credentials

                #region Gestion exception liées à l'upload
                //Erreur gérée lors de l'upload
                catch (GEDUploadFileException uploadFileException)
                {
                    passed = false;
                }
                //Erreur inattendue lors de l'upload
                catch (GEDUploadFileUnknownException uploadFileUnknownException)
                {
                    passed = false;
                }
                //Erreur Dll GED inconnue
                catch (GEDGlobalUnknownException gEDGlobalUnknownException)
                {
                    passed = false;
                }
                #endregion Gestion exception liées à l'upload

                #endregion Act: Uploader le fichier

                #region Asserts
                //Pas d'exceptions levées
                Assert.True(passed);
                //test du barcode
                Assert.Equal(barCode, gedUploadAnswerSecondAccess.barCode);
                //Le type est bien gardé
                Assert.Equal(GedService.DocTypesEnum.AFAC.ToString(), gedUploadAnswerSecondAccess.docType);
                //Pas d'erreur retournée
                Assert.True(string.IsNullOrEmpty(gedUploadAnswerSecondAccess.error));
                //Nom de fichiers non vide
                Assert.True(!string.IsNullOrEmpty(gedUploadAnswerSecondAccess.name));
                //Url GET de download non vide
                Assert.True(!string.IsNullOrEmpty(gedUploadAnswerSecondAccess.url));
                //Url GET de download doit contenir la string "annexe=true"
                Assert.True(gedUploadAnswerSecondAccess.url.Contains(
                                ConstantsTPGed.ServiceDonloadUrlReceivedForAnnexMustContain));
                #endregion

                #region Clear
                #endregion
            }
            catch (Exception ex)
            {
                Assert.True(false, ex.ToString());
            }
        }
コード例 #7
0
ファイル: TPGEDUploadAFileTests.cs プロジェクト: clasie/T-P
        public void TPGED_UploadANewPdfFactureWithWrongFilePath_TestTrue()
        {
            try
            {
                #region Arrange: Init instance
                GEDJsonClassRequestResponse gedUploadAnswer = new GEDJsonClassRequestResponse();

                bool passed    = true;
                var  gedAccess = new Ged(
                    ConstantsTPGed.GedUserLogin,
                    ConstantsTPGed.GedUserPassword,
                    ConstantsTPGed.GedUrlToTestWEB
                    );
                //Wrong path
                var fileUri = ResourceFileHelper.GetResourceFilePath(ConstantsTPGed.GEDFacturePdfFileDoNotExists_ResourceFileName);
                var barCode = Guid.NewGuid().ToString();

                #endregion

                #region Act: Uploader le fichier
                try
                {
                    //Upload a file
                    gedAccess.UploadFile(
                        barCode,
                        fileUri,
                        GedService.DocTypesEnum.FAC);
                }

                #region Gestion exception liées au credentials
                //Mauvais credentials (attention après 2 erreurs le user est locké)
                catch (GEDInvalidCredentialsException invalidCredentialsException)
                {
                    passed = false;
                }
                //User locké
                catch (GEDUserLockedTooMuchFailingAttempsToConnectException userLockedTooMuchFailingAttempsToConnectException)
                {
                    passed = false;
                }
                //Erreur de connexion inconnue
                catch (GEDConnectionUnknownException connectionUnknownException)
                {
                    passed = false;
                }
                #endregion Gestion exception liées au credentials

                #region Gestion exception liées à l'upload
                //Erreur gérée lors de l'upload
                catch (GEDUploadFileException uploadFileException)
                {
                    passed = true;
                }
                //Erreur inattendue lors de l'upload
                catch (GEDUploadFileUnknownException uploadFileUnknownException)
                {
                    passed = false;
                }
                //Erreur Dll GED inconnue
                catch (GEDGlobalUnknownException gEDGlobalUnknownException)
                {
                    passed = false;
                }

                #endregion Gestion exception liées à l'upload

                #endregion Act: Uploader le fichier

                #region Asserts
                Assert.True(passed);
                #endregion

                #region Clear
                #endregion
            }
            catch (Exception ex)
            {
                Assert.True(false, ex.ToString());
            }
        }
コード例 #8
0
ファイル: TPGEDUploadAFileTests.cs プロジェクト: clasie/T-P
        public void TPGED_UploadANewPdfFacture_TestTrue()
        {
            try
            {
                #region Arrange: Init instance
                GEDJsonClassRequestResponse gedUploadAnswer = new GEDJsonClassRequestResponse();
                GEDJsonClassRequestResponse gedDownloadAnswer;

                bool passed            = true;
                bool passedDoubleCheck = true;
                var  gedAccess         = new Ged(
                    ConstantsTPGed.GedUserLogin,
                    ConstantsTPGed.GedUserPassword,
                    ConstantsTPGed.GedUrlToTestWEB
                    );
                var fileUri = ResourceFileHelper.GetResourceFilePath(ConstantsTPGed.GEDFacturePdf_ResourceFileName);
                var barCode = Guid.NewGuid().ToString();

                #endregion

                #region Act: Uploader le fichier
                try
                {
                    //Upload a file
                    gedUploadAnswer =
                        gedAccess.UploadFile(
                            barCode,
                            fileUri,
                            GedService.DocTypesEnum.FAC);

                    //Double verification que tout s'est bien passé:
                    //Uploader fichier -> fait
                    //downloader fichier ->
                    gedDownloadAnswer =
                        gedAccess.DownloadFile(
                            barCode,
                            GedService.DocTypesEnum.FAC);
                    //sauver localement ->
                    //réouvrir le fichier local ->
                    //vérifier que sa taille est bien celle d'origine avant upload.
                    if (!gedAccess.DoubleCheckUploadedFile(gedDownloadAnswer, gedUploadAnswer.sizeExpected))
                    {
                        passedDoubleCheck = false;
                    }
                }

                #region Gestion exception liées au credentials
                //Mauvais credentials (attention après 2 erreurs le user est locké)
                catch (GEDInvalidCredentialsException invalidCredentialsException)
                {
                    passed = false;
                }
                //User locké
                catch (GEDUserLockedTooMuchFailingAttempsToConnectException userLockedTooMuchFailingAttempsToConnectException)
                {
                    passed = false;
                }
                //Erreur de connexion inconnue
                catch (GEDConnectionUnknownException connectionUnknownException)
                {
                    passed = false;
                }
                #endregion Gestion exception liées au credentials

                #region Gestion exception liées à l'upload
                //Erreur gérée lors de l'upload
                catch (GEDUploadFileException uploadFileException)
                {
                    passed = false;
                }
                //Erreur inattendue lors de l'upload
                catch (GEDUploadFileUnknownException uploadFileUnknownException)
                {
                    passed = false;
                }
                //Erreur Dll GED inconnue
                catch (GEDGlobalUnknownException gEDGlobalUnknownException)
                {
                    passed = false;
                }
                #endregion Gestion exception liées à l'upload

                #endregion Act: Uploader le fichier

                #region Asserts
                //Pas d'exceptions levées
                Assert.True(passed);
                //test du barcode
                Assert.Equal(barCode, gedUploadAnswer.barCode);
                //Le type est bien gardé
                Assert.Equal(GedService.DocTypesEnum.FAC.ToString(), gedUploadAnswer.docType);
                //Pas d'erreur retournée
                Assert.True(string.IsNullOrEmpty(gedUploadAnswer.error));
                //Nom de fichiers non vide
                Assert.True(!string.IsNullOrEmpty(gedUploadAnswer.name));
                //Url GET de download non vide
                Assert.True(!string.IsNullOrEmpty(gedUploadAnswer.url));
                //Version mineure minimum car nouvelle facture
                Assert.Equal(ConstantsTPGed.GedMinorVersionMinimum, gedUploadAnswer.minorVersion);
                //Version majeure minimum car nouvelle facture
                Assert.Equal(ConstantsTPGed.GedMajorVersionMinimum, gedUploadAnswer.majorVersion);
                //Double verification tailles avant et après sur disque
                Assert.True(passedDoubleCheck);

                #endregion

                #region Clear
                #endregion
            }
            catch (Exception ex)
            {
                Assert.True(false, ex.ToString());
            }
        }