def create_channel(self): client = Client('test/fixtures/network.json') logger.info("start to create channel") request = build_channel_request( client, self.channel_tx, self.channel_name) q = Queue(1) response = client._create_channel(request) response.subscribe(on_next=lambda x: q.put(x), on_error=lambda x: q.put(x)) status, _ = q.get(timeout=5) self.assertEqual(status.status, 200) logger.info("successfully create the channel: %s", self.channel_name) client.state_store = None
class ClientTest(unittest.TestCase): def setUp(self): self.client = Client('test/fixtures/network.json') def test_create_client(self): self.client.crypto_suite = 'my_crypto_suite' self.assertEqual(self.client.crypto_suite, 'my_crypto_suite') self.client.tx_context = 'my_tx_context' self.assertEqual(self.client.tx_context, 'my_tx_context') self.client.user_context = 'my_user_context' self.assertEqual(self.client.user_context, 'my_user_context') self.client.state_store = 'my_state_store' self.assertEqual(self.client.state_store, 'my_state_store') def test_new_channel(self): test_channel = self.client.new_channel('test') self.assertEqual(test_channel, self.client.get_channel('test')) def test_get_channel(self): test_channel = self.client.new_channel('test') self.assertEqual(test_channel, self.client.get_channel('test')) no_chain = self.client.get_channel('test1') self.assertIsNone(no_chain) def test_create_channel_missing_signatures(self): request = {} request['config'] = 'config' request['channel_name'] = 'channel_name' request['orderer'] = 'orderer' request['tx_id'] = 'tx_id' request['nonce'] = 'nonce' with self.assertRaises(ValueError): self.client._create_channel(request) def test_create_channel_not_list_of_signatures(self): request = {} request['config'] = 'config' request['signatures'] = 'signatures' request['channel_name'] = 'channel_name' request['orderer'] = 'orderer' request['tx_id'] = 'tx_id' request['nonce'] = 'nonce' with self.assertRaises(ValueError): self.client._create_channel(request) def test_create_channel_missing_tx_id(self): request = {} request['config'] = 'config' request['channel_name'] = 'channel_name' request['orderer'] = 'orderer' request['nonce'] = 'nonce' with self.assertRaises(ValueError): self.client._create_channel(request) def test_create_channel_missing_orderer(self): request = {} request['config'] = 'config' request['channel_name'] = 'channel_name' request['tx_id'] = 'tx_id' request['nonce'] = 'nonce' with self.assertRaises(ValueError): self.client._create_channel(request) def test_create_channel_missing_channel_name(self): request = { 'config': 'config', 'orderer': 'orderer', 'tx_id': 'tx_id', 'nonce': 'nonce', } with self.assertRaises(ValueError): self.client._create_channel(request) def test_export_network_profile(self): network_info = { "organizations": { "OrdererOrg": { } }, "orderers": { "orderer1": { } }, "peers": { "peer0": { } }, "certificateAuthorities": { "ca-org1": { } }, 'a': { 'b': 'a.b' } } self.client.network_info = network_info self.client.export_net_profile('test-export.json') self.client.network_info = dict() self.client.init_with_net_profile('test-export.json') self.assertEqual(network_info, self.client.network_info) self.assertEqual('a.b', self.client.get_net_info('a', 'b')) def test_init_with_net_profile(self): self.client.init_with_net_profile('test/fixtures/network.json') self.assertEqual(self.client.get_net_info('organizations', 'orderer.example.com', 'mspid'), 'OrdererOrg', "profile not match")