Ejemplo n.º 1
0
def CartPullCommand(args):  # pragma: no cover
    jc = JuicerCommand(args)

    cart = juicer.cart.Cart(jc.args.cartname,
                            autoload=False,
                            autosave=False,
                            autosync=False)
    cart.pull()
Ejemplo n.º 2
0
    def test_cart_pull(self):
        """Cart can be pulled"""
        with nested(
                mock.patch('juicer.common.Constants'),
                mock.patch('pymongo.MongoClient')) as (
                    constants,
                    MongoClient):

            # Override constants.
            constants.CART_LOCATION = './'
            constants.USER_CONFIG = './config'

            test_cart_body = {
                "_id": "potato",
                "repos_items": {
	            "test": [
	                "share/juicer/empty-0.1-1.noarch.rpm"
	            ]
                }
            }

            # MongoClient().carts.__getitem__().find_one()
            mock_find_one = mock.MagicMock(find_one=mock.MagicMock(return_value=test_cart_body))
            mock_mongo = mock.MagicMock(carts=mock.MagicMock(__getitem__=mock.MagicMock(name="shit",return_value=mock_find_one)))

            # pymongo.MongoClient
            MongoClient.return_value = mock_mongo

            cart = juicer.cart.Cart(name='potato')
            # Do an initial pull
            cart.pull()
            self.assertTrue(os.path.exists(cart.cart_file))
            # Pull to overwrite existing file
            cart.pull()
            self.assertTrue(os.path.exists(cart.cart_file))
            # Delete cart file
            cart.delete()
            self.assertFalse(os.path.exists(cart.cart_file))

            # MongoClient().carts.__getitem__().find_one()
            mock_find_one = mock.MagicMock(find_one=mock.MagicMock(return_value=None))
            mock_mongo = mock.MagicMock(carts=mock.MagicMock(__getitem__=mock.MagicMock(return_value=mock_find_one)))

            # pymongo.MongoClient()
            MongoClient.return_value = mock_mongo

            # We can't pull a cart that doesn't exist on the remote
            cart = juicer.cart.Cart(name='potato')
            cart.pull()
            self.assertFalse(os.path.exists(cart.cart_file))
Ejemplo n.º 3
0
def CartPullCommand(args):  # pragma: no cover
    jc = JuicerCommand(args)

    cart = juicer.cart.Cart(jc.args.cartname, autoload=False, autosave=False, autosync=False)
    cart.pull()