Exemple #1
0
def crypto(ctx):  # pragma: no cover
    opts = load_config(ctx.obj['settings_file'])
    # Set up Admin MSPs
    admin_msp(opts, opts['orderers']['msp'], verbose=ctx.obj['verbose'])
    admin_msp(opts, opts['peers']['msp'], verbose=ctx.obj['verbose'])
    # Genesis & Channel
    genesis_block(opts, verbose=ctx.obj['verbose'])
    channel_tx(opts, verbose=ctx.obj['verbose'])
    # Setup node MSPs
    setup_nodes(opts, 'orderer', verbose=ctx.obj['verbose'])
    setup_nodes(opts, 'peer', verbose=ctx.obj['verbose'])
Exemple #2
0
 def test_with_no_channel_msp(self, mock_chdir, mock_execute, mock_exists,
                              mock_log, mock_secret_from_files):
     opts = deepcopy(self.OPTS)
     opts["channels"]["AChannel"]["msps"] = []
     mock_exists.side_effect = [True, True]
     channel_tx(opts)
     mock_chdir.assert_has_calls([call("./config"), call(PWD)])
     mock_exists.assert_called_once_with("./crypto/a-channel.tx")
     mock_execute.assert_not_called()
     mock_log.info.assert_called_once_with(
         "./crypto/a-channel.tx already exists")
     mock_secret_from_files.assert_not_called()
Exemple #3
0
 def test_again(self, mock_chdir, mock_execute, mock_exists, mock_log,
                mock_secret_from_files):
     mock_exists.side_effect = [True, True]
     channel_tx(self.OPTS)
     mock_chdir.assert_has_calls([call("./config"), call(PWD)])
     mock_exists.assert_called_once_with("./crypto/a-channel.tx")
     mock_execute.assert_not_called()
     mock_log.info.assert_called_once_with(
         "./crypto/a-channel.tx already exists")
     mock_secret_from_files.assert_called_once_with(
         secret="a-channel-secret",
         namespace="peer-ns",
         keys_files_path={"a-channel.tx": "./crypto/a-channel.tx"},
     )
Exemple #4
0
 def test_again(self, mock_chdir, mock_execute, mock_path, mock_print, mock_secret_from_file):
     mock_path.exists.side_effect = [True, True]
     channel_tx(self.OPTS, True)
     mock_chdir.assert_has_calls([
         call('./a_dir'),
         call(PWD)
     ])
     mock_path.exists.assert_called_once_with('a-channel.tx')
     mock_execute.assert_not_called()
     mock_print.assert_called_once_with('a-channel.tx already exists')
     mock_secret_from_file.assert_called_once_with(
         secret='a-channel-secret', namespace='peer-namespace',
         key='a-channel.tx', filename='a-channel.tx', verbose=True
     )
Exemple #5
0
 def test_blocks(self, mock_chdir, mock_execute, mock_path, mock_print, mock_secret_from_file):
     mock_path.exists.side_effect = [False, False]
     channel_tx(self.OPTS)
     mock_chdir.assert_has_calls([
         call('./a_dir'),
         call(PWD)
     ])
     mock_path.exists.assert_called_once_with('a-channel.tx')
     mock_execute.assert_called_once_with(
         'configtxgen -profile AProfile -channelID a-channel -outputCreateChannelTx a-channel.tx', verbose=False)
     mock_print.assert_not_called()
     mock_secret_from_file.assert_called_once_with(
         secret='a-channel-secret', namespace='peer-namespace',
         key='a-channel.tx', filename='a-channel.tx', verbose=False
     )
Exemple #6
0
 def test_again(self, mock_chdir, mock_execute, mock_exists, mock_print,
                mock_secret_from_file):
     mock_exists.side_effect = [True, True]
     channel_tx(self.OPTS, True)
     mock_chdir.assert_has_calls([call("./config"), call(PWD)])
     mock_exists.assert_called_once_with("./crypto/a-channel.tx")
     mock_execute.assert_not_called()
     mock_print.assert_called_once_with(
         "./crypto/a-channel.tx already exists")
     mock_secret_from_file.assert_called_once_with(
         secret="a-channel-secret",
         namespace="peer-ns",
         key="a-channel.tx",
         filename="./crypto/a-channel.tx",
         verbose=True,
     )
Exemple #7
0
def runner_crypto(opts):
    """Create Crypto-material by either using CAs or save Cryptogen material.

    Args:
        opts (dict): Nephos options dict.
        
    """
    # Set up Admin MSPs
    for msp in get_msps(opts=opts):
        admin_msp(opts, msp)
    # Genesis & Channel
    genesis_block(opts)
    # TODO: We currently only support a single channel
    channel_tx(opts)
    # Setup node MSPs
    setup_nodes(opts)
Exemple #8
0
 def test_blocks(self, mock_chdir, mock_execute, mock_exists, mock_logging,
                 mock_secret_from_file):
     mock_exists.side_effect = [False, False]
     channel_tx(self.OPTS)
     mock_chdir.assert_has_calls([call("./config"), call(PWD)])
     mock_exists.assert_called_once_with("./crypto/a-channel.tx")
     mock_execute.assert_called_once_with(
         "configtxgen -profile AProfile -channelID a-channel -outputCreateChannelTx ./crypto/a-channel.tx"
     )
     mock_logging.info.assert_not_called()
     mock_secret_from_file.assert_called_once_with(
         secret="a-channel-secret",
         namespace="peer-ns",
         key="a-channel.tx",
         filename="./crypto/a-channel.tx",
     )
Exemple #9
0
def fabric(ctx):  # pragma: no cover
    opts = load_config(ctx.obj['settings_file'])
    # Setup CA
    setup_ca(opts, upgrade=ctx.obj['upgrade'], verbose=ctx.obj['verbose'])
    # Crypto material
    admin_msp(opts, opts['orderers']['msp'], verbose=ctx.obj['verbose'])
    admin_msp(opts, opts['peers']['msp'], verbose=ctx.obj['verbose'])
    genesis_block(opts, verbose=ctx.obj['verbose'])
    channel_tx(opts, verbose=ctx.obj['verbose'])
    setup_nodes(opts, 'orderer', verbose=ctx.obj['verbose'])
    setup_nodes(opts, 'peer', verbose=ctx.obj['verbose'])
    # Orderers
    setup_ord(opts, upgrade=ctx.obj['upgrade'], verbose=ctx.obj['verbose'])
    # Peers
    setup_peer(opts, upgrade=ctx.obj['upgrade'], verbose=ctx.obj['verbose'])
    setup_channel(opts, verbose=ctx.obj['verbose'])
Exemple #10
0
def runner_crypto(opts, verbose=False):
    """Create Crypto-material by either using CAs or save Cryptogen material.

    Args:
        opts (dict): Nephos options dict.
        verbose (bool): Verbosity. False by default.
    """
    # TODO: Limited by the fact that we manually specify MSPs
    # Set up Admin MSPs
    admin_msp(opts, opts["orderers"]["msp"], verbose=verbose)
    admin_msp(opts, opts["peers"]["msp"], verbose=verbose)
    # Genesis & Channel
    genesis_block(opts, verbose=verbose)
    # TODO: We currently only support a single channel
    channel_tx(opts, verbose=verbose)
    # Setup node MSPs
    setup_nodes(opts, "orderer", verbose=verbose)
    setup_nodes(opts, "peer", verbose=verbose)