FeatureConfigTest.cc 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #include "FeatureConfig.h"
  2. #include <cppunit/extensions/HelperMacros.h>
  3. class FeatureConfigTest:public CppUnit::TestFixture {
  4. CPPUNIT_TEST_SUITE(FeatureConfigTest);
  5. CPPUNIT_TEST(testGetDefaultPort);
  6. CPPUNIT_TEST(testIsSupported);
  7. CPPUNIT_TEST(testGetConfigurationSummary);
  8. CPPUNIT_TEST_SUITE_END();
  9. public:
  10. void testGetDefaultPort();
  11. void testIsSupported();
  12. void testGetConfigurationSummary();
  13. };
  14. CPPUNIT_TEST_SUITE_REGISTRATION(FeatureConfigTest);
  15. void FeatureConfigTest::testGetDefaultPort() {
  16. CPPUNIT_ASSERT_EQUAL((int32_t)80,
  17. FeatureConfig::getInstance()->getDefaultPort("http"));
  18. CPPUNIT_ASSERT_EQUAL((int32_t)443,
  19. FeatureConfig::getInstance()->getDefaultPort("https"));
  20. CPPUNIT_ASSERT_EQUAL((int32_t)21,
  21. FeatureConfig::getInstance()->getDefaultPort("ftp"));
  22. }
  23. void FeatureConfigTest::testIsSupported() {
  24. CPPUNIT_ASSERT_EQUAL(true,
  25. FeatureConfig::getInstance()->isSupported("http"));
  26. #ifdef ENABLE_SSL
  27. CPPUNIT_ASSERT_EQUAL(true,
  28. FeatureConfig::getInstance()->isSupported("https"));
  29. #else
  30. CPPUNIT_ASSERT_EQUAL(false,
  31. FeatureConfig::getInstance()->isSupported("https"));
  32. #endif // ENABLE_SSL
  33. CPPUNIT_ASSERT_EQUAL(true,
  34. FeatureConfig::getInstance()->isSupported("ftp"));
  35. CPPUNIT_ASSERT_EQUAL(false,
  36. FeatureConfig::getInstance()->isSupported("ftps"));
  37. }
  38. void FeatureConfigTest::testGetConfigurationSummary() {
  39. CPPUNIT_ASSERT_EQUAL(string("http: yes\n")
  40. #ifdef ENABLE_SSL
  41. +"https: yes\n"
  42. #else
  43. +"https: no\n"
  44. #endif // ENABLE_SSL
  45. +"ftp: yes\n"
  46. #ifdef ENABLE_BITTORRENT
  47. +"bittorrent: yes\n"
  48. #else
  49. +"bittorrent: no\n"
  50. #endif // ENABLE_BITTORRENT
  51. #ifdef ENABLE_METALINK
  52. +"metalink: yes\n"
  53. #else
  54. +"metalink: no\n"
  55. #endif // ENABLE_METALINK
  56. #ifdef ENABLE_MESSAGE_DIGEST
  57. +"message digest: yes\n"
  58. #else
  59. +"message digest: no\n"
  60. #endif // ENABLE_MESSAGE_DIGEST
  61. #ifdef ENABLE_ASYNC_DNS
  62. +"async dns: yes\n"
  63. #else
  64. +"async dns: no\n"
  65. #endif // ENABLE_ASYNC_DNS
  66. ,
  67. FeatureConfig::getInstance()->getConfigurationSummary());
  68. }