Change copyrights from Nokia to Digia
[profile/ivi/qtxmlpatterns.git] / tests / auto / network-settings.h
1 /****************************************************************************
2 **
3 ** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
4 ** Contact: http://www.qt-project.org/legal
5 **
6 ** This file is part of the test suite of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:LGPL$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and Digia.  For licensing terms and
14 ** conditions see http://qt.digia.com/licensing.  For further information
15 ** use the contact form at http://qt.digia.com/contact-us.
16 **
17 ** GNU Lesser General Public License Usage
18 ** Alternatively, this file may be used under the terms of the GNU Lesser
19 ** General Public License version 2.1 as published by the Free Software
20 ** Foundation and appearing in the file LICENSE.LGPL included in the
21 ** packaging of this file.  Please review the following information to
22 ** ensure the GNU Lesser General Public License version 2.1 requirements
23 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
24 **
25 ** In addition, as a special exception, Digia gives you certain additional
26 ** rights.  These rights are described in the Digia Qt LGPL Exception
27 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
28 **
29 ** GNU General Public License Usage
30 ** Alternatively, this file may be used under the terms of the GNU
31 ** General Public License version 3.0 as published by the Free Software
32 ** Foundation and appearing in the file LICENSE.GPL included in the
33 ** packaging of this file.  Please review the following information to
34 ** ensure the GNU General Public License version 3.0 requirements will be
35 ** met: http://www.gnu.org/copyleft/gpl.html.
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().toLatin1())
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().toLatin1())
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().toLatin1())
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().toLatin1())
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 #ifdef QT_NETWORK_LIB
148     static bool verifyTestNetworkSettings()
149     {
150         QHostInfo testServerResult = QHostInfo::fromName(QtNetworkSettings::serverName());
151         if (testServerResult.error() != QHostInfo::NoError) {
152             qWarning() << "Could not lookup" << QtNetworkSettings::serverName();
153             qWarning() << "Please configure the test environment!";
154             qWarning() << "See /etc/hosts or network-settings.h";
155             return false;
156         }
157         return true;
158     }
159 #endif
160 };