Fix memory leaks of bug 163865.
[accounts-sso:signon.git] / tests / saslplugintest / saslplugintest.h
1 /* -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of signon
4  *
5  * Copyright (C) 2009-2010 Nokia Corporation.
6  *
7  * Contact: Alberto Mardegan <alberto.mardegan@nokia.com>
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Lesser General Public License
11  * version 2.1 as published by the Free Software Foundation.
12  *
13  * This library is distributed in the hope that it will be useful, but
14  * WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with this library; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
21  * 02110-1301 USA
22  */
23
24 #ifndef SASL_PLUGINS_TEST
25 #define SASL_PLUGINS_TEST
26
27 #include <sasl/sasl.h>
28 #include <QString>
29 #include "saslplugin.h"
30 #include "SignOn/authpluginif.h"
31
32 using namespace SaslPluginNS;
33
34 class SaslPluginTest : public QObject
35 {
36     Q_OBJECT
37
38 public slots:
39     void result(const SignOn::SessionData& data);
40     void pluginError(AuthPluginError error);
41
42 private slots:
43     void initTestCase();
44     void cleanupTestCase();
45     void init();
46     void cleanup();
47
48     //test cases
49     void testPlugin();
50     void testPluginType();
51     void testPluginMechanisms();
52     void testPluginCancel();
53     void testPluginProcess();
54     void testPluginChallengePlain();
55     void testPluginChallengeDigestMd5();
56     void testPluginChallengeCramMd5();
57     void testPluginsasl_callback();
58     void testPluginsasl_get_realm();
59     void testPluginsasl_get_secret();
60     void testPluginsasl_log();
61     void testPluginset_callbacks();
62     void testPlugincheck_and_fix_parameters();
63     //end test cases
64
65 private:
66     SaslPlugin* m_testPlugin;
67     AuthPluginError m_error;
68     SignOn::SessionData m_response;
69     QEventLoop m_loop;
70 };
71
72 class SaslServer {
73 public:
74     SaslServer();
75     ~SaslServer();
76     int  init(const QString& mech, QByteArray &challenge);
77     int step(const QByteArray &response);
78
79     int c;
80     int errflag ;
81     int result;
82     sasl_security_properties_t secprops;
83     sasl_ssf_t extssf ;
84     char *options, *value;
85     unsigned len, count;
86     const char *data;
87     int serverlast ;
88     sasl_ssf_t *ssf;
89
90     const char *mech,
91     *iplocal ,
92     *ipremote ,
93     *searchpath,
94     *service ,
95     *localdomain ,
96     *userdomain ;
97     sasl_conn_t *conn ;
98 };
99
100 #endif //SASL_PLUGINS_TEST