Item copy

This implements an item copy rest call via /item/{} POST.  It adds test coverage for the new functions.  As part of this, I've added a method to the files model to copy a file.  For all of our current three asset stores, I've added code to allow multiple files to use the same data through the use of a repeated reference.
Is there an example using httmock I should follow for the assetstore test?
I'd be happier having a test than not.

On Mon, Sep 22, 2014 at 2:12 PM, Zach Mullen <notifications@github.com>
wrote:

> In tests/cases/assetstore_test.py:
>
> > @@ -306,3 +306,8 @@ def testS3AssetstoreAdapter(self):
> >          self.assertStatus(resp, 303)
> >          self.assertTrue(resp.headers['Location'].startswith(
> >              'https://bucketname.s3.amazonaws.com/foo/bar/'))
> > +
> > +        # Test delete for a non-empty file
> > +        resp = self.request(path='/file/{}'.format(largeFile['_id']),
>
> @manthey <https://github.com/manthey> This code actually invokes a boto
> call internally on the background task queue. As such, its test should be
> wrapped using httmock context manager that also waits on a condition var
> and asserts behavioral correctness. Let's either do that or delete this
> block for now.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/girder/girder/pull/337/files#r17866759>.
>