Пример #1
0
        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;
        }
Пример #2
0
        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 ;
        }
Пример #3
0
        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 ;
        }