def test_loading_existing_app(self, mock_os_path_isdir, mock_Nulecule):
        dryrun, update = False, False
        mock_os_path_isdir.return_value = True
        expected_external_app_path = 'some/path/external/some-app'

        nc = NuleculeComponent('some-app', 'some/path')
        nc.load_external_application(dryrun=dryrun, update=update)

        mock_os_path_isdir.assert_called_once_with(expected_external_app_path)
        mock_Nulecule.load_from_path.assert_called_once_with(
            expected_external_app_path, dryrun=dryrun, update=update)
    def test_loading_existing_app(self, mock_os_path_isdir, mock_Nulecule):
        dryrun, update = False, False
        mock_os_path_isdir.return_value = True
        expected_external_app_path = 'some/path/external/some-app'

        nc = NuleculeComponent('some-app', 'some/path')
        nc.load_external_application(dryrun=dryrun, update=update)

        mock_os_path_isdir.assert_called_once_with(
            expected_external_app_path)
        mock_Nulecule.load_from_path.assert_called_once_with(
            expected_external_app_path, dryrun=dryrun, update=update)
    def test_loading_app_by_unpacking(self, mock_os_path_isdir,
                                      mock_Nulecule):
        dryrun, update = False, False
        mock_os_path_isdir.return_value = False
        expected_external_app_path = 'some/path/external/some-app'

        nc = NuleculeComponent('some-app', 'some/path')
        nc.load_external_application(dryrun=dryrun, update=update)

        mock_os_path_isdir.assert_called_once_with(
            expected_external_app_path)
        mock_Nulecule.unpack.assert_called_once_with(
            nc.source, expected_external_app_path,
            namespace=nc.namespace, config=None, dryrun=dryrun, update=update)
    def test_loading_app_by_unpacking(self, mock_os_path_isdir,
                                      mock_Nulecule):
        dryrun, update = False, False
        mock_os_path_isdir.return_value = False
        expected_external_app_path = 'some/path/external/some-app'

        nc = NuleculeComponent('some-app', 'some/path')
        nc.load_external_application(dryrun=dryrun, update=update)

        mock_os_path_isdir.assert_called_once_with(
            expected_external_app_path)
        mock_Nulecule.unpack.assert_called_once_with(
            nc.source, expected_external_app_path,
            namespace=nc.namespace, config=None, dryrun=dryrun, update=update)