public bool JCAConnectionOracle(XmlNode monXMLNode, ref string Message, ref Dictionary<String, String> Variables, ref string MessageEchec, ref JCASQLClient monODPSQLClient) { Message = Message + Environment.NewLine + "Assertion ConnectionOracle" + Environment.NewLine; MessageEchec = ""; if (monXMLNode == null) throw new JCAssertionException("Le XML est vide."); ValideBalise(monXMLNode, "User"); ValideBalise(monXMLNode, "Password"); string MonUser = ValeurBalise(monXMLNode, "User"); string MonPassword = ValeurBalise(monXMLNode, "Password"); string MonServeur = ValeurBalise(monXMLNode, "Serveur"); string MonActionTexte = ValeurBalise(monXMLNode, "Action"); // remplacer les variables MonUser = JCAVariable.SubstituerVariables( MonUser, Variables); MonPassword = JCAVariable.SubstituerVariables( MonPassword, Variables); MonServeur = JCAVariable.SubstituerVariables( MonServeur, Variables); // Donner du feedback Message = Message + Environment.NewLine + "User : "******"Password : "******"Serveur/instance : " + MonServeur + Environment.NewLine ; // Traiter l'action MonActionTexte = JCAVariable.SubstituerVariables( MonActionTexte, Variables).ToUpper() ; JCASQLClient.Action monAction = JCASQLClient.Action.Aucune; if (MonActionTexte.Contains("OUVRIR")) { monAction = JCASQLClient.Action.Ouvrir ; Message = Message + "Ouvrir la connection à la base de données" + Environment.NewLine; } if (MonActionTexte.Contains("FERMER")) { monAction = JCASQLClient.Action.Fermer ; Message = Message + "Fermer la connection à la base de données" + Environment.NewLine; } try { monODPSQLClient.InitConnection(MonUser, MonPassword, MonServeur, monAction); } catch (Exception excep) { throw new JCAssertionException( "Erreur technique lors de la connection au serveur Oracle " + excep.Message , excep ); } // La seule facon que cette assertion retourne false // c'est qu'une exception se produise return true; }
public bool JCASQLExecute(XmlNode monXMLNode, ref String Message, ref Dictionary<String, String> Variables, ref string MessageEchec, ref JCASQLClient monSQLClient) { Message = Message + Environment.NewLine + "Assertion : SQLExecute" + Environment.NewLine; MessageEchec = ""; if (monXMLNode == null) throw new JCAssertionException("Le XML est vide."); ValideBalise(monXMLNode, "SQL"); String monSQL = ""; Int64 Rangees = 0; foreach (XmlElement monFragmentXML in monXMLNode.SelectNodes( "SQL")) { monSQL = monFragmentXML.InnerText; monSQL = JCAVariable.SubstituerVariables( monSQL, Variables); Message = Message + monSQL + Environment.NewLine ; Rangees = monSQLClient.SQLExecute(monSQL); if (Rangees > 1) Message = Message + Rangees.ToString() + " rangées affectées." + Environment.NewLine; else Message = Message + Rangees.ToString() + " rangée affectée." + Environment.NewLine; } return true ; }
public bool JCAAssertSQL(XmlNode monXMLNode, ref string Message, ref Dictionary<String, String> Variables, ref string MessageEchec, ref JCASQLClient monODPSQLClient) { Message = Message + Environment.NewLine + "Assertion AssertSQL" + Environment.NewLine; MessageEchec = ""; if (monXMLNode == null) throw new JCAssertionException("Le XML est vide."); ValideBalise(monXMLNode, "SQL"); if ((! SiBaliseExiste(monXMLNode ,"AttenduNombre")) && (!SiBaliseExiste(monXMLNode, "AttenduTexte"))) throw new JCAssertionException( "Une des deux balises suivantes doit exister :AttenduNombre ou AttenduTexte "); if ((SiBaliseExiste(monXMLNode, "AttenduNombre")) && (SiBaliseExiste(monXMLNode, "AttenduTexte"))) throw new JCAssertionException( "Une seule des deux balises suivantes doit exister dans le xml :AttenduNombre ou AttenduTexte "); String monSQL = ValeurBalise (monXMLNode,"SQL" ); monSQL = JCAVariable.SubstituerVariables( monSQL , Variables); Message = Message + monSQL + Environment .NewLine ; Boolean Resultat = false; String monOperateur = ""; if (SiBaliseExiste(monXMLNode, "AttenduNombre")) { monOperateur = ValeurBalise(monXMLNode,"Operateur"); if (monOperateur == "") monOperateur = "="; monOperateur = JCAVariable.SubstituerVariables( monOperateur , Variables); Message = Message + "Opérateur : " + monOperateur + Environment.NewLine; Double ResultatAttendu = 0; String monANString = ""; try { monANString = ValeurBalise( monXMLNode,"AttenduNombre"); monANString = JCAVariable.SubstituerVariables( monANString , Variables); ResultatAttendu = Convert.ToDouble(monANString); } catch (FormatException excep) { throw new JCAssertionException( "La balise AttenduNombre comporte une valeur (" + monANString + ") ne pouvant pas être convertie en nombre" + monXMLNode.InnerXml + Environment.NewLine + excep.Message, excep); } catch (Exception excep) { throw excep; } Message = Message + "Valeur attendue : " + ResultatAttendu.ToString() + Environment.NewLine; Resultat = monODPSQLClient.SQLAssert(monSQL , ResultatAttendu, monOperateur); if (! (Resultat)) MessageEchec = JCAVariable.SubstituerVariables( ValeurBalise( monXMLNode,"MessageEchec"), Variables ); } // if else { String ResultatnAttenduTexte = ValeurBalise( monXMLNode, "AttenduTexte"); ResultatnAttenduTexte = JCAVariable.SubstituerVariables( ResultatnAttenduTexte, Variables); Message = Message + "Valeur attendue : " + ResultatnAttenduTexte + Environment.NewLine; Resultat = monODPSQLClient.SQLAssert(monSQL, ResultatnAttenduTexte); if (!(Resultat)) MessageEchec = JCAVariable.SubstituerVariables( ValeurBalise( monXMLNode, "MessageEchec"), Variables); } // end else if (Resultat) Message = Message + "L'expression évaluée est vraie" + Environment.NewLine; else Message = Message + "L'expression évaluée est fausse" + Environment.NewLine; return Resultat ; }