1
0
mirror of https://github.com/fwbuilder/fwbuilder synced 2026-05-01 22:57:33 +02:00
fwbuilder/src/unit_tests/ICMPServiceDialogTest/ICMPServiceDialogTest.cpp
Sirius Bakke 1b6e8ce7cc test: Make unit tests compile
However, not all tests run.
2019-02-23 18:16:08 -03:00

144 lines
4.2 KiB
C++

/*
Firewall Builder
Copyright (C) 2010 NetCitadel, LLC
Author: Roman Bovsunivskiy a2k0001@gmail.com
$Id: ICMPServiceDialogTest.cpp 2723 2010-03-16 17:32:18Z a2k $
This program is free software which we release under the GNU General Public
License. You may redistribute and/or modify this program under the terms
of that license as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
To get a copy of the GNU General Public License, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include "ICMPServiceDialogTest.h"
#include "../../../config.h"
//#include "../../global.h"
#include <QApplication>
#include <QFile>
#include <QTextStream>
#include <QTest>
#include <iostream>
#include <QProcess>
#include <QRegExp>
#include <QDebug>
#include <QToolButton>
#include <QMessageBox>
#include <QWidget>
#include <QLineEdit>
#include "FWWindow.h"
#include "ProjectPanel.h"
#include "ObjectTreeView.h"
#include "ObjectTreeViewItem.h"
#include "ObjectEditor.h"
#include "FWObjectClipboard.h"
#include "TextEditWidget.h"
#include "fwbuilder/Address.h"
#include "fwbuilder/IPv4.h"
#include "fwbuilder/IPv6.h"
#include "FWBTree.h"
#include "fwbuilder/Library.h"
#include "fwbuilder/FWObjectDatabase.h"
#include "ICMPServiceDialogTest.h"
#include "StartTipDialog.h"
#include "fwbuilder/FWObjectDatabase.h"
#include "fwbuilder/Interface.h"
#include "IPServiceDialog.h"
#include "fwbuilder/IPService.h"
#include "fwbuilder/ICMPService.h"
#include "ICMPServiceDialog.h"
using namespace std;
using namespace libfwbuilder;
void ICMPServiceDialogTest::initTestCase()
{
new FWObjectClipboard();
mw = new FWWindow();
mw->show();
mw->startupLoad();
StartTipDialog *d = mw->findChild<StartTipDialog*>();
if (d!=NULL) d->close();
om = dynamic_cast<ObjectManipulator*>(mw->getCurrentObjectTree()->parent()->parent());
QTest::qWait(1000);
}
Library* ICMPServiceDialogTest::findUserLibrary()
{
Library *lib = NULL;
foreach (FWObject *obj, mw->db()->getByType(Library::TYPENAME))
{
if (obj->getName() == "User")
{
lib = Library::cast(obj);
break;
}
}
return lib;
}
void ICMPServiceDialogTest::testDialog()
{
ICMPService *service = ICMPService::cast(om->createObject(FWBTree().getStandardSlotForObject(findUserLibrary(), ICMPService::TYPENAME), ICMPService::TYPENAME, "testICMPService"));
om->editObject(service);
ICMPServiceDialog *dialog = mw->findChild<ICMPServiceDialog*>("w_ICMPServiceDialog");
QLineEdit *obj_name = dialog->findChild<QLineEdit*>("obj_name");
QSpinBox *type = dialog->findChild<QSpinBox*>("icmpType");
QSpinBox *code = dialog->findChild<QSpinBox*>("icmpCode");
TextEditWidget *comment = dialog->findChild<TextEditWidget*>("comment");
obj_name->clear();
QTest::keyClicks(obj_name, "TestICMPService");
QTest::keyClick(obj_name, Qt::Key_Enter);
QVERIFY(service->getName() == "TestICMPService");
comment->clear();
QTest::mouseClick(comment, Qt::LeftButton);
QTest::keyClicks(comment, "Test comment");
QTest::mouseClick(comment, Qt::LeftButton);
QTest::keyClick(comment, Qt::Key_Tab);
QTest::qWait(100);
QVERIFY (service->getComment() == "Test comment");
type->clear();
for (int i=0; i<52; i++)
QTest::keyClick(type, Qt::Key_Up);
QTest::keyClick(type, Qt::Key_Enter);
QVERIFY(service->getInt("type") == 50);
for (int i=0; i<210; i++)
QTest::keyClick(type, Qt::Key_Up);
QTest::keyClick(type, Qt::Key_Enter);
QVERIFY(service->getInt("type") == 255);
code->clear();
for (int i=0; i<52; i++)
QTest::keyClick(code, Qt::Key_Up);
QTest::keyClick(type, Qt::Key_Enter);
QVERIFY(service->getInt("code") == 50);
for (int i=0; i<210; i++)
QTest::keyClick(code, Qt::Key_Up);
QTest::keyClick(type, Qt::Key_Enter);
QVERIFY(service->getInt("code") == 255);
}