Giter Site home page Giter Site logo

codjo-test's Introduction

codjo-test's People

Contributors

marcona avatar codjo avatar gonnot avatar fduminy avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

James Cloos avatar  avatar

codjo-test's Issues

codjo-test - Possibilité de tester un JSpinner

Publish Date2008/02/28Bybadie

Il est maintenant possible d'utiliser les balises `setValue` et `assertValue` avec un composant JSpinner. Elles sont cependant restreintes à des entiers positifs.

codjo-test - Amélioration du step AssertLink

Publish Date2008/03/26Byvillard

Ajout de la possibilité de vérifier la cible d'un lien avec l'attribut target dans le step assertLink.

Exemple :

<assertLink target="url-cible.html">texte contenu dans le lien</a>

codjo-test - Bug lors de la mise en place du modèle de sécurité

Publish Date2008/06/12Byferry

Un bug concernant la mise en place des modèles de sécurité a été soulevé dans `Mint`. Il survenait quand après une déconnection du client, le modèle de sécurité était mis à jour via `` puis le client se reconnectait tout de suite après.

Ce bug était dû à la précision du datetime Sybase qui est de l'ordre de 1/300s.
La date de mise à jour du modèle de sécurité stockée était vue comme identique par le système alors qu'il y avait eu deux insertions différentes mais espacées de seulement quelques ms.

Le bug a été corrigé en ajoutant un délai d'attente de 10ms avant et après l'insertion du modèle de sécurité.

codjo-test - Modification FileUtil

Publish Date2008/03/06Bygonnot

Ajout de la méthode `loadContent(URL)` sur la classe `FileUtil`. Cette méthode permet de charger le contenu d'un fichier à partir d'une URL.

Exemple : Chargement d'une ressource et d'une page HTML.

String expected = FileUtil.loadContent(getClass().getResource("google-main.txt"));
String actual = FileUtil.loadContent(new URL("http://google.com"));

codjo-test - Ajout assert d'images de composants

Publish Date2008/05/05Bymehtaj

Pour tester les graphes sous JFreeChart : création d'une nouvelle balise de step :

Le test va générer un fichier jpg temporaire à partir du JComponent désigné par le champ "name" et le comparer à l'aide d'un checksum au fichier étalon désigné par le champ "expected".

Si les images ne sont pas identiques le test échoue. Attention : ce test est sensible à toute modification d'UI : évitez de tester un component basé sur un look and feel.

codjo-test - Add an easy way to test ResultSet

Publish Date2010/08/04Bycrego

Context We need to unitary test results that come from an SQL request.

Description
A new method AssertUtil.assertResultSetRow(String[[][]], ResultSet) is now available.

Example

@Test
public void shouldFindAllChanges() throws Exception {
  tokio.insertInputInDb("nominal");

  ResultSet changes = ChangesUtil.findAllChanges(tokio.getConnection(), "005", "1998-01-01");

  assertTrue(changes.next());

  AssertUtil.assertResultSetRow(new String[[][]]{
    {"STATUS_CODIFICATION_CODE", "005"},
    {"BEGIN_DATE", "9999-01-01"},
    {"TABLE_NAME", "BranchCodification"},
    {"TABLE_VIEW", null},
    {"TABLE_SELECTOR", null},
    {"FIELD_NAME", "sicovamCode"},
  },
    changes);

  assertTrue(changes.next());

  AssertUtil.assertResultSetRow(new String[[][]]{
    {"STATUS_CODIFICATION_CODE", "005"},
    {"BEGIN_DATE", "1998-01-01"},
    {"TABLE_NAME", "SegmentCodification"},
    {"TABLE_VIEW", null},
    {"TABLE_SELECTOR", null},
    {"FIELD_NAME", "directFees"},
  },
    changes);

  assertTrue(changes.next());

  AssertUtil.assertResultSetRow(new String[[][]]{
    {"STATUS_CODIFICATION_CODE", "005"},
    {"BEGIN_DATE", "9999-01-01"},
    {"TABLE_NAME", "RiskProfile"},
    {"TABLE_VIEW", "RiskProfileList"},
    {"TABLE_SELECTOR", "selectAllRiskProfile"},
    {"FIELD_NAME", null},
  },
    changes);

  assertFalse(changes.next());
}

codjo-test - WrongFieldException devient TokioLoaderException

Publish Date2008/04/04Bybourgou

Remplacement de **WrongFieldException** par **TokioLoaderException** pour pouvoir gérer différent types d'erreurs au chargement des ".tokio":

 Exception levée si:

  1. un champs d'une table du tokio est invalide,
  2. on utilise la balise "include-story" en spécifiant un chemin incorrect du fichier tokio à inclure.

codjo-test - Amélioration de la comparaison de fichier Excel

Publish Date2008/06/11Byzhang

La comparaison de fichier excel qui ne tenait compte auparavant que des valeurs, tient maintenant compte : - Des cellules fusionnées - Des styles appliqués aux cellules: ***\* Alignement : général, gauche, centré, droite, justifié ***\* Styles : Gras; italic ***\* Bordures de cellules - Des marges d'impression

Ajout d'une interface CellStringifier permettant de découpler la comparaison des valeurs et des styles, ce qui permet un débrayage de la comparaison de styles.

public interface CellStringifier { public String toString(Cell cell); }

Utilisation dans les assertions dans la classe ExcelComparisonStrategy :
private void assertSheetContent(int index, HSSFWorkbook expectedWorkbook, HSSFWorkbook actualWorkbook) { assertCells("Contenu de la feuille", index, expectedWorkbook, actualWorkbook, new CellValueStringifier(), new CellValueStringifier()); }

La comparaison de style est embrayable dans le code des TU de la manière suivante :

fileAssert.setCompareStyle(true);

codjo-test - Comparaison de fichier excel

Publish Date2008/02/08Bygonnot

La balise [[file-assert]] a été modifié pour supporter la comparaison de fichier excel.

Cette stratégie de comparaison est activée lorsque les fichiers à comparer se terminent avec l'extension 'xls'

Exemple

<file-assert expected="etalon.xls" actual="result.xls"/> 

NB : Pour rappel, le fichier result.xls doit se trouver dans le répertoire pointé par la variable broadcast.output.dir.

codjo-test - Modification du Jdbc

Publish Date2008/02/26Bygaudefroy

Ajout d'une méthode utilitaire permettant l'affichage du résultat d'une requête SQL. Cette méthode est notamment pratique pour afficher le contenu d'une requête avec jointure.

Exemple :

JdbcFixture jdbc = ....
jdbc.spoolQuery("select * from AP_TABLE", System.out);

codjo-test - Ajout de l'attribut matching sur assertTable

Publish Date2008/02/06Byvillard

L'attribut matching a été ajouté à assertTable. Il permet d'effectuer une comparaison partielle. C'est un report de la modification effectuée pour assertValue. Voir [[news correspondante |/2007/12/14/codjo-test - La balise "assertValue" s'enrichit de plusieurs types de comparaisons]]

codjo-test - Ajout des steps concernant les emails dans le XSD

Publish Date2008/03/25Byvillard

Ajout des balises suivantes dans le XSD :

`````` start-mail-server send-mail```
```assert-inbox```

Exemple :


<start-mail-server port="25"/>

<send-mail from="[email protected]" to="[email protected]" subject="Enquête" port="25">
    N'oublie pas les sandwiches.
</send-mail>

<assert-inbox>
    <message from="[email protected]" to="[email protected]" subject="Enquête">
       <assertText value="sandwich"/>
    </message>
</assert-inbox>

```
```

codjo-test - Optimisation de la classe TokioFixture

Publish Date2008/03/26Bygonnot

La classe `TokioFixture` a été optimisé.

Maintenant :

  • Le fichier Tokio n'est plus chargé dans le constructeur mais lors du doSetup() : Ce qui réduit considérablement la trace mémoire utilisée lors de l'exécution des tests en masse (e.g. Maven).
  • Le fichier Tokio n'est plus re-chargé si il a été précédemment chargé (comparaison avec le lastLoadedTokioFile).

codjo-test - Comparaison de fichiers, ajout des types PDF

Publish Date2008/06/18Byblinp

Ajout de la classe `PDFComparisonStrategy` permettant de comparer des fichiers de type PDF en utilisant la librairie PDFBox-0.7.3

Modification de la méthode fileAssert.execute

try {
  if (expected.endsWith(".xls")) {
    info("\tUse Excel comparison strategy...");
    assertFile(new ExcelComparisonStrategy(getExpectedFile(), getActualFile(), compareStyle));
 }
 else if(expected.endsWith(".pdf")){
    info("\tUse PDF comparison strategy...");
    assertFile(new PDFComparisonStrategy(getExpectedFile(), getActualFile()));

 }
[[...]]

comparaison :

  • textuelle du contenu
  • des polices de caractères utilisées
  • des images (nombre d'images, taille des images)

codjo-test - assertTableExcel - Date relative à la date du jour

Publish Date2008/02/12Bysalboch

Il est maintenant possible de définir des dates relatives à la date du jour dans le fichier excel qui sert d'étalon.

Exemple :

DéfinitionTexte dans cellule d'un fichier excel
date du jour ${TODAY}
date du jour  x jour ${TODAY}xD
date du jour  x mois ${TODAY}xM
date du jour  x ans ${TODAY}xY
date du jour - x jour ${TODAY}-xD

| ... | ...

codjo-test - Correction ouverture fichier Excel

Publish Date2008/05/26Bybourgou

Homogénéisation de la méthode d'ouverture d'un fichier Excel. L'implémentation permettant l'ouverture d'un fichier Excel ne fonctionne pas correctement sur toutes les machines (problème environnement Windows sans doute).

Pour résoudre le problème, la commande suivante a été utilisée :

String executableName = "rundll32.exe url.dll,FileProtocolHandler";
Runtime.getRuntime().exec(executableName <u> " " </u> file.getAbsolutePath());

A cause de problèmes de dépendances, la classe WindowsHelper dans codjo-mad n'a pas pu être réutilisée mais il est vivement conseillé de réutiliser cette classe d'agf-mad si vous avez le même genre de problématique dans votre code de production.

codjo-test - Les balises editCell peuvent maintenant être imbriquées

Publish Date2008/01/29Bycrego

Ce besoin nous est apparu dans le cas d'une table dont certaines cellules devaient contenir un JTree lui-même éditable (chaque noeud faisait apparaitre un bouton d'édition des valeurs du noeud).

Exemple :

<editCell name="maTable" row="3" column="Statut">
    <editCell path="root:noeud1">
        <click name="editButton"/>
        <setValue name="combo" value="VALEUR2"/>
        <click label="OK"/>
    </editCell>
</editCell>
```\\

codjo-test - web-test

Publish Date2008/02/27Bybadie

\- balise `` : ajout de l'attribut `position` qui permet de récupérer le formulaire d'après sa position dans une page web. Il ne sera pris en compte que si l'attribut `id` n'est pas spécifié - balise `` : idem

Exemple:

<editForm position="2">
...
</editForm>
  • possibilité de désactiver javascript dans la balise <web-test>. Par défaut, javascript est activé.

Exemple:

<web-test session="maSession" url="www.monsite.com" javascript="false">
...
</web-test>

codjo-test - Correction de l'assert avec ellipses

Publish Date2009/09/25Bylaboria

Dans la classe `LogString`, les méthodes `assertContent(String...)` et `assertAndClear(String...)` coupaient les logs d'appels de méthode ayant une liste d'arguments. Ce problème est corrigé, les méthodes avec arguments sont bien considérées comme une seule chaîne.

AVANT

logString.call("foo", "pim", "pam", "poum");
[[...]]
logString.assertContent("foo(pim",
                        "pam",
                        "poum)");

APRES

logString.call("foo", "pim", "pam", "poum");
[[...]]
logString.assertContent("foo(pim, pam, poum)");

codjo-test - Optimisation de AssertVisible lorsque expected=-false-

Publish Date2008/03/04Bybadie

Auparavant, l'exécution du `AssertVisible` avec l'attribut `expected` à `false` mettait 15 secondes à s'exécuter (le délai fixé pour le `timeout` pour cette balise), puisqu'il faisait une recherche du composant le temps du `timeout`.\ \ Maintenant, l'exécution dans ces mêmes conditions se fait quasi-instantanément, et dans le cas du `WaitingPanel` (comme tout autre composant visible lors de l'exécution de cette balise), ce même timeout sera pris en compte.

codjo-test - Upgrade of class ExcelUtil

Publish Date2010/10/26Byboissie

Context Due to the latest modifications in the framework (See [[codjo-release-test|framework:2010/10/22/agf-release-test - Add cell style assertions in the assert-excel step] and [agf-pom|framework:2010/10/22/agf-pom - New Library jxls available]]) in the `agf-mad library`, we need to create a unit test that focuses on comparing the result of the `ExcelExportBuilder` with an excel file. Moreover, we need to improve the readability of the error message when the test fails.

Description
We move class ExcelComparator from codjo-release-test to agf-test along with other utility classes.
Now the class ExcelUtil provides two new methods :

boolean compare(File expectedFile, File actualFile,
                                  String sheetNamesToCompare, String sheetMatchersToApply)

boolean compare(HSSFWorkbook expectedWorkbook, HSSFWorkbook actualWorkbook,
                                  String sheetNamesToCompare, String sheetMatchersToApply)

When sheetNamesToCompare parameter is not set then all sheets will be tested.
When sheetMatchersToApply parameter is not set then only Content matching will be run.

When the comparison fails, the error message is displayed like the file comparison does :

C:\Dev\Temp\ExportSyntheseChantier.xml:44: Couleur de fond des cellules de la feuille 'Feuil1' en erreur.
Excel line 26
    Expected > TRANSPARENT | TRANSPARENT | TRANSPARENT | TRANSPARENT | TRANSPARENT | TRANSPARENT | LIGHT_GREEN |
    Actual   > TRANSPARENT | TRANSPARENT | LIGHT_GREEN | TRANSPARENT | TRANSPARENT | TRANSPARENT | LIGHT_GREEN |
    Gap      > ____________________________*

Example:

ExcelUtil.compare(new File("expected_ok.xls"),
                  new File("actual.xls"),
                  "Sheet0,Sheet2",
                  "bold,italic,margin")

codjo-test - Assertion d'un fichier Excel ouvert en TR

Publish Date2008/05/16Bypotonie

Ajout de la balise `` qui permet de comparer un ficher ouvert dans excel avec un fichier excel étalon. Il est obligatoire de passer les nombres de lignes et de colonnes à vérifier en attribut de la balise.

L'implémentation est basée sur jcom, et utilise une dll.

Exemple d'utilisation:

<gui-test>
    <group name="test de l'export excel">
        <click name="ExportExcelButton"/>
        <click name="SecuritiesTable" row="1" count="2"/>
        <selectTab name="tabbedPaneSecurity" tabLabel="FR0000031122"/>
    </group>
</gui-test>
<assert-excel expected="ExportXL_etalon.xls" columnCount="30" rowCount="15"/>

Voir la page : [[Assertion d'un fichier Excel ouvert en TR (configuration et utilisation)|codjo-release-test - Assertion d'un fichier Excel ouvert en TR]]

codjo-test - Execution de plusieurs gui-test dans une même session

Publish Date2008/06/26Bysalboch

Ajout de 2 paramètres à la balise : - shouldStop : Si shouldStop = "true" (valeur par défaut), la session sera fermée à la fin du gui-test sinon elle restera ouverte - shouldStart : Si shouldStart = "true" (valeur par défaut), une session sera ouverte au début du gui-test sinon on utilisera la dernière ouverte.

Exemple d'utilisation :
\

<gui-test shouldStop = "false">
 <assertFrame title="Titre Frame"/>
 <assertValue name="myTextField" expected="valeur initiale"/>
 <setValue name="myTextField" value="valeur modifiée"/>
</gui-test>

<gui-test shouldStart = "false">
 <assertValue name="myTextField" expected="valeur modifiée"/>
</gui-test>

codjo-test - Bug fix on LogString

Publish Date2010/03/30Bycrego

Context: The following method upon `LogString`
public void call(String methodName, Object... parameters);

raised an exception if no parameter was given.

Description:
This bug has been fixed.

codjo-test - Modification et ajout de balises pour le clic droit sur table

Publish Date2008/01/28Byjevarda

**Modification de la balise ``** pour permettre la saisie du paramètre `column`. Si non renseigné, ce paramètre vaut 0 par défaut. La valeur du paramètre peut soit être l'index de la colonne désirée soit son entête.

Ajout de la balise <clickRightTableHeader>. A l'instar de la balise <clickRight>, cette balise permet de simuler un clic droit sur l'entête d'une table. La syntaxe et l'utilisation est similaire à la balise <clickRight>.

Exemple :

<clickRightTableHeader name="maTable" column="0">
    <assertListSize expected="2"/>
    <assertList row="0" expected="Supprimer" />
    <assertList row="1" expected="Filtrer"/>
    <assertEnabled menu="Supprimer" expected="true"/>
    <assertEnabled menu="Filtrer" expected="true"/>
</clickRightTableHeader>
```\\

codjo-test - New methods in XmlUtil

Publish Date2010/02/16Bymoule

Context: For [[framework:/2010/02/16/codjo-release-test - Asserting xml files]], it was needed to improve `XmlUtil`.

Description:
boolean XmlUtil.areEquals(String, String) and boolean XmlUtil.areEquivalent(String, String) have been implemented.

Example:

if(XmlUtil.areEquals("<root>
                         <field>toto</field>
                         <field>tata</field>
                      </root>",
                     "<root>
                         <field>toto</field>
                         <field>tata</field>
                      </root>")) {
    System.out.println("Comparaison OK");
}

if(XmlUtil.areEquivalent("<root>
                              <field>toto</field>
                              <field>tata</field>
                          </root>",
                         "<root>
                              <field>tata</field>
                             <field>toto</field>
                          </root>")) {
    System.out.println("Comparaison OK");
}

codjo-test - Comparaison avec arguments optionnels ou expressions regulières pour les tests d'appels journalisés

Publish Date2009/09/21Bylaboria

La classe `LogString` accepte deux nouveaux types d'arguments à sa méthode `assertContent` : *\* `String...` : permet de tester que **chacun** des éléments apparaissant dans la liste des arguments est bien journalisé *_dans l'ordre donné_ *\* `Pattern` : permet de tester que l'expression régulière donnée correspond bien à *_l'intégralité_ des appels journalisés.

Exemple avec les ellipses

logString.assertContent("setUp(connection/1234)",
                        "createStatement()",
                        "executeQuery(query@1234)",
                        "tearDown(connection/1234)");

Le même exemple avec une expression régulière

logString.assertContent(Pattern.compile("setUp.connection/(\\d+)., "
                                        + "createStatement.., "
                                        <u> "executeQuery.</u>, "
                                        + "tearDown.connection/\\1."));

{tip:title=Expression régulière}
Notez l'utilisation de . à la place des paranthèses englobant les arguments de méthodes et qu'il aurait fallu échapper comme ceci:
{noformat}createStatement(){noformat}

Notez également l'utilisation d'un groupe capturant sur la première ligne pour la méthode setUp, réutilisé sur la dernière ligne pour la méthode tearDown : cela permet de vérifier que la connection passée en argument de setUp est bien celle qui est passée en argument de tearDown.
{tip}

codjo-test - Nouvelle assertion dans LogString

Publish Date2009/06/04Byferry

La classe `LogString` s'enrichit d'une nouvelle méthode : `assertAndClear(String)`. Cette méthode permet de vider le `LogString` après avoir vérifié qu'il contenait la valeur attendue.

Exemple

LogString log = ...;
log.call("doIt");
log.assertAndClear("doIt");
log.assertContent(""); // Le LogString a été vidé

codjo-test - Possibilité de mocker prepared et callable statements

Publish Date2009/09/25Bylaboria

La classe `ConnectionMock` permettait de renvoyer un `Statement` par la méthode `createStatement()` si un appel à `mockCreateStatement(Statement)` avait été fait avant. Ce mécanisme mock est désormais mis en place pour les `PreparedStatement` et les `CallableStatement` par des appels aux méthodes `prepareStatement(...)` et `prepareCall(...)` respectivement.

Le passage du statement mocké se fait toujours par mockCreateStatement(Statement).

Par exemple :

PreparedStatementMock stm = new PreparedStatementMock();
ConnectionMock cnx = new ConnectionMock();
cnx.mockCreateStatement(stm);
[[...]]

De plus les classes PreparedStatementMock et CallableStatementMock ont également été créées.

codjo-test - Ajout d'une méthode FileUtil.loadContent(URL, charset)

Publish Date2008/03/13Bycrego

Enrichissement de FileUtil pour proposer une signature sur loadContent prenant une URL et un type d'encodage ("UTF-8", "UTF-16", etc.).

L'API sur loadContent est la suivante :

public static String loadContent(Reader reader) throws IOException;
public static String loadContent(File file) throws IOException;
public static String loadContent(URL url) throws IOException;
public static String loadContent(URL url, String charset) throws IOException;

codjo-test - La balise editCell gère maintenant les arbres

Publish Date2008/01/29Bycrego

On peut à présent se servir de la balise **editCell** pour éditer un **JTree**. Le chemin du noeud à éditer est précisé de la même façon que pour la balise **select**, en utilisant ':' pour séparer les différents éléments du chemin. Ce chemin peut être spécifié en utilisant le modèle de l'arbre (**mode='model'**) ou le renderer de l'arbre (**mode='display'**). Le mode par défaut est de type 'display'.

Dans l'exemple suivant, l'éditeur de l'arbre renvoie un JPanel contenant un bouton "Editer". Le test suivant permet de cliquer sur ce bouton.

Exemple :

<editCell name="monArbre" path="root:noeudA:noeudB">
    <click label="Editer"/>
    ...
</editCell>
```\\

codjo-test - Détermination du répertoire racine des ressources de test

Publish Date2008/12/02Bylevequt

Une méthode a été ajoutée à `PathUtil` qui permet de déterminer le répertoire racine des ressources de test (`findTestResourcesDirectory(...)`).

Exemple

assertEquals(baseDir + "src/test/resources", PathUtil.findTestResourcesDirectory(MyTest.class));

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.