def setUp(self, mock_load_configuration): self.config_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'config') self.server_config = ConfigParser() self.server_config.read(os.path.join(self.config_path, 'server.cfg')) self.channel_config = ConfigParser() self.channel_config.read(os.path.join(self.config_path, 'servers', 'irc.example.org.cfg')) self.identity_config = ConfigParser() self.identity_config.read(os.path.join(self.config_path, 'identities', 'test.cfg')) def load_configuration(name, plugin=None, basedir=None, default=None, ext='.cfg'): if basedir == 'servers': return self.channel_config if basedir == 'identities': return self.identity_config mock_load_configuration.side_effect = load_configuration self.server = Server('irc.example.org', self.server_config)
class ServerTestCase(unittest.TestCase): @mock.patch.object(FireflyIRC, 'load_configuration') def setUp(self, mock_load_configuration): self.config_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'config') self.server_config = ConfigParser() self.server_config.read(os.path.join(self.config_path, 'server.cfg')) self.channel_config = ConfigParser() self.channel_config.read(os.path.join(self.config_path, 'servers', 'irc.example.org.cfg')) self.identity_config = ConfigParser() self.identity_config.read(os.path.join(self.config_path, 'identities', 'test.cfg')) def load_configuration(name, plugin=None, basedir=None, default=None, ext='.cfg'): if basedir == 'servers': return self.channel_config if basedir == 'identities': return self.identity_config mock_load_configuration.side_effect = load_configuration self.server = Server('irc.example.org', self.server_config) def test_server_container_attributes(self): self.assertIsInstance(self.server._config, ConfigParser) self.assertEqual(self.server.hostname, 'irc.example.org') self.assertTrue(self.server.enabled) self.assertTrue(self.server.auto_connect) self.assertEqual(self.server.nick, 'Firefly') self.assertEqual(self.server.username, 'Firefly') self.assertEqual(self.server.realname, 'Nose Tests') self.assertIsNone(self.server.password) self.assertEqual(self.server.port, 6669) self.assertFalse(self.server.ssl) def test_server_channel_containers_length(self): self.server.add_channel('#first') self.server.add_channel('#second') self.server.add_channel('#third') self.assertEqual(len(self.server.channels), 3) def test_first_server_channel_attributes(self): self.server.add_channel('#first') self.server.add_channel('#second') self.server.add_channel('#third') first = self.server.channels['#first'] self.assertIsInstance(first, Channel) self.assertIsInstance(first._config, ConfigParser) self.assertIs(first.server, self.server) self.assertEqual(first.name, '#first') self.assertTrue(first.autojoin) self.assertIsNone(first.password) def test_second_server_channel_attributes(self): self.server.add_channel('#first') self.server.add_channel('#second') self.server.add_channel('#third') second = self.server.channels['#second'] self.assertIsInstance(second, Channel) self.assertIsInstance(second._config, ConfigParser) self.assertIs(second.server, self.server) self.assertEqual(second.name, '#second') self.assertTrue(second.autojoin) self.assertIsNone(second.password) def test_third_server_channel_attributes(self): self.server.add_channel('#first') self.server.add_channel('#second') self.server.add_channel('#third') third = self.server.channels['#third'] self.assertIsInstance(third, Channel) self.assertIsInstance(third._config, ConfigParser) self.assertIs(third.server, self.server) self.assertEqual(third.name, '#third') self.assertFalse(third.autojoin) self.assertEqual(third.password, 'secret')