 request = require("request")
 settings = require("settings-sharelatex")
 
-describe "Sending a file", ->
+describe "Filestore", ->
 
 	before (done)->
 		@localFileReadPath = "/tmp/filestore_acceptence_tests_file_read.txt"

	describe "with a file on the server", ->

		beforeEach (done)->
			@timeout(1000 * 5)
			@fileUrl = "#{@filestoreUrl}/project/acceptence_tests/file/#{Math.random()}"

			writeStream = request.post(@fileUrl)

			writeStream.on "end", =>
				done()
			fs.createReadStream(@localFileReadPath).pipe writeStream

		it "should be able get the file back", (done)->

				done()

		it "should be able to delete the file", (done)->
			@timeout(1000 * 20)
			request.del @fileUrl, (err, response, body)=>
				response.statusCode.should.equal 204
				request.get @fileUrl, (err, response, body)=>
					body.indexOf("NoSuchKey").should.not.equal -1
					done()

		it "should be able to copy files", (done)->
			@timeout(1000 * 20)

			newProjectID = "acceptence_tests_copyied_project"
			newFileId = Math.random()
			newFileUrl = "#{@filestoreUrl}/project/#{newProjectID}/file/#{newFileId}"
			opts = 
				uri: newFileUrl
				json:
					source:
						project_id:"acceptence_tests"
						file_id: @file_id
			request.put opts, (err)=>
				request.del @fileUrl, (err, response, body)=>
					request.get newFileUrl, (err, response, body)=>
						body.should.equal @constantFileContent
						done()



