tests: eliminated usage of qttest_p4.prf
[profile/ivi/qtxmlpatterns.git] / tests / auto / network-settings.h
1 /****************************************************************************
2 **
3 ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
4 ** All rights reserved.
5 ** Contact: Nokia Corporation (qt-info@nokia.com)
6 **
7 ** This file is part of the test suite of the Qt Toolkit.
8 **
9 ** $QT_BEGIN_LICENSE:LGPL$
10 ** GNU Lesser General Public License Usage
11 ** This file may be used under the terms of the GNU Lesser General Public
12 ** License version 2.1 as published by the Free Software Foundation and
13 ** appearing in the file LICENSE.LGPL included in the packaging of this
14 ** file. Please review the following information to ensure the GNU Lesser
15 ** General Public License version 2.1 requirements will be met:
16 ** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
17 **
18 ** In addition, as a special exception, Nokia gives you certain additional
19 ** rights. These rights are described in the Nokia Qt LGPL Exception
20 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
21 **
22 ** GNU General Public License Usage
23 ** Alternatively, this file may be used under the terms of the GNU General
24 ** Public License version 3.0 as published by the Free Software Foundation
25 ** and appearing in the file LICENSE.GPL included in the packaging of this
26 ** file. Please review the following information to ensure the GNU General
27 ** Public License version 3.0 requirements will be met:
28 ** http://www.gnu.org/copyleft/gpl.html.
29 **
30 ** Other Usage
31 ** Alternatively, this file may be used in accordance with the terms and
32 ** conditions contained in a signed written agreement between you and Nokia.
33 **
34 **
35 **
36 **
37 **
38 ** $QT_END_LICENSE$
39 **
40 ****************************************************************************/
41
42 #include <QString>
43 #ifdef QT_NETWORK_LIB
44 #include <QtNetwork/QHostInfo>
45 #endif
46
47 class QtNetworkSettings
48 {
49 public:
50
51     static QString serverLocalName()
52     {
53         return QString("qt-test-server");
54     }
55     static QString serverDomainName()
56     {
57         return QString("qt-test-net");
58     }
59     static QString serverName()
60     {
61         return serverLocalName() + "." + serverDomainName();
62     }
63     static QString winServerName()
64     {
65         return serverName();
66     }
67     static QString wildcardServerName()
68     {
69         return "qt-test-server.wildcard.dev." + serverDomainName();
70     }
71
72 #ifdef QT_NETWORK_LIB
73     static QHostAddress serverIP()
74     {
75     return QHostInfo::fromName(serverName()).addresses().first();
76     }
77 #endif
78
79     static bool compareReplyIMAP(QByteArray const& actual)
80     {
81         QList<QByteArray> expected;
82
83         // Mandriva; old test server
84         expected << QByteArray( "* OK [CAPABILITY IMAP4 IMAP4rev1 LITERAL+ ID STARTTLS LOGINDISABLED] " )
85             .append(QtNetworkSettings::serverName().toAscii())
86             .append(" Cyrus IMAP4 v2.3.11-Mandriva-RPM-2.3.11-6mdv2008.1 server ready\r\n");
87
88         // Ubuntu 10.04; new test server
89         expected << QByteArray( "* OK " )
90             .append(QtNetworkSettings::serverLocalName().toAscii())
91             .append(" Cyrus IMAP4 v2.2.13-Debian-2.2.13-19 server ready\r\n");
92
93         // Feel free to add more as needed
94
95         Q_FOREACH (QByteArray const& ba, expected) {
96             if (ba == actual) {
97                 return true;
98             }
99         }
100
101         return false;
102     }
103
104     static bool compareReplyIMAPSSL(QByteArray const& actual)
105     {
106         QList<QByteArray> expected;
107
108         // Mandriva; old test server
109         expected << QByteArray( "* OK [CAPABILITY IMAP4 IMAP4rev1 LITERAL+ ID AUTH=PLAIN SASL-IR] " )
110             .append(QtNetworkSettings::serverName().toAscii())
111             .append(" Cyrus IMAP4 v2.3.11-Mandriva-RPM-2.3.11-6mdv2008.1 server ready\r\n");
112
113         // Ubuntu 10.04; new test server
114         expected << QByteArray( "* OK " )
115             .append(QtNetworkSettings::serverLocalName().toAscii())
116             .append(" Cyrus IMAP4 v2.2.13-Debian-2.2.13-19 server ready\r\n");
117
118         // Feel free to add more as needed
119
120         Q_FOREACH (QByteArray const& ba, expected) {
121             if (ba == actual) {
122                 return true;
123             }
124         }
125
126         return false;
127     }
128
129     static bool compareReplyFtp(QByteArray const& actual)
130     {
131         QList<QByteArray> expected;
132
133         // A few different vsFTPd versions.
134         // Feel free to add more as needed
135         expected << QByteArray( "220 (vsFTPd 2.0.5)\r\n221 Goodbye.\r\n" );
136         expected << QByteArray( "220 (vsFTPd 2.2.2)\r\n221 Goodbye.\r\n" );
137
138         Q_FOREACH (QByteArray const& ba, expected) {
139             if (ba == actual) {
140                 return true;
141             }
142         }
143
144         return false;
145     }
146 };
147
148 #ifdef QT_NETWORK_LIB
149 class QtNetworkSettingsInitializerCode {
150 public:
151     QtNetworkSettingsInitializerCode() {
152         QHostInfo testServerResult = QHostInfo::fromName(QtNetworkSettings::serverName());
153         if (testServerResult.error() != QHostInfo::NoError) {
154             qWarning() << "Could not lookup" << QtNetworkSettings::serverName();
155             qWarning() << "Please configure the test environment!";
156             qWarning() << "See /etc/hosts or network-settings.h";
157             qFatal("Exiting");
158         }
159     }
160 };
161 QtNetworkSettingsInitializerCode qtNetworkSettingsInitializer;
162 #endif