Files
jami-daemon/test/sip/test_SIP.h
Guillaume Roguez 8ad7adfbac test-sip: C++11'ish and make a better simple call test
* refactor the code in modern C++11
* make a better call test by ensuring that the call is in correct state
  at each step.

Change-Id: I3e17ee59acbf4a5a61783b2bf87eb4914faef65e
Reviewed-by: Anthony Léonard <anthony.leonard@savoirfairelinux.com>
2017-06-26 14:10:29 -04:00

115 lines
2.9 KiB
C++

/*
* Copyright (C) 2004-2017 Savoir-Faire Linux Inc.
* Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com>
* Author: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 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.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
*/
#pragma once
// Cppunit import
#include <cppunit/extensions/HelperMacros.h>
#include <cppunit/TestCaller.h>
#include <cppunit/TestCase.h>
#include <cppunit/TestSuite.h>
// Application import
#include "manager.h"
#include "sip/sipvoiplink.h"
#include "sip/sip_utils.h"
#include <atomic>
#include <thread>
class RAIIThread
{
public:
RAIIThread() = default;
RAIIThread(std::thread&& t) : thread_ {std::move(t)} {};
~RAIIThread() {
join();
}
void join() {
if (thread_.joinable())
thread_.join();
}
RAIIThread(RAIIThread&&) = default;
RAIIThread& operator=(RAIIThread&&) = default;
private:
std::thread thread_;
};
/*
* @file Test-sip.h
* @brief Regroups unitary tests related to the SIP module
*/
class test_SIP : public CppUnit::TestFixture
{
public:
//test_SIP() : CppUnit::TestCase("SIP module Tests") {}
/*
* Code factoring - Common resources can be initialized here.
* This method is called by unitcpp before each test
*/
void setUp();
/*
* Code factoring - Common resources can be released here.
* This method is called by unitcpp after each test
*/
void tearDown();
private:
void testSimpleOutgoingIpCall(void);
//void testSimpleIncomingIpCall(void);
void testTwoOutgoingIpCall(void);
//void testTwoIncomingIpCall(void);
void testHoldIpCall(void);
//void testIncomingIpCallSdp(void);
//void testSIPURI();
//void testParseDisplayName();
/**
* Use cppunit library macros to add unit test the factory
*/
CPPUNIT_TEST_SUITE(test_SIP);
CPPUNIT_TEST ( testSimpleOutgoingIpCall );
//CPPUNIT_TEST ( testParseDisplayName );
//CPPUNIT_TEST ( testSimpleIncomingIpCall );
//CPPUNIT_TEST ( testTwoOutgoingIpCall );
//CPPUNIT_TEST ( testTwoIncomingIpCall );
//CPPUNIT_TEST ( testHoldIpCall );
//CPPUNIT_TEST ( testIncomingIpCallSdp );
CPPUNIT_TEST_SUITE_END();
RAIIThread eventLoop_;
std::atomic_bool running_;
};