Mercurial > hg > webaudioevaluationtool
changeset 2934:260efd43fe52
#228
author | Nicholas Jillings <nicholas.jillings@mail.bcu.ac.uk> |
---|---|
date | Mon, 11 Sep 2017 17:41:40 +0100 |
parents | 95f507064bf2 |
children | 0dd44ca5d062 |
files | php/test.html php/test_write.php python/pythonServer.py |
diffstat | 3 files changed, 47 insertions(+), 23 deletions(-) [+] |
line wrap: on
line diff
--- a/php/test.html Mon Sep 11 17:22:23 2017 +0100 +++ b/php/test.html Mon Sep 11 17:41:40 2017 +0100 @@ -70,37 +70,20 @@ xhr.send(); }); }); - describe("save.php", function() { - it("should return an empty file on empty payload", function(done) { + describe("Saves permissions", function() { + it("should write \"test-save.xml\" to saves and delete", function(done) { var xhr = new XMLHttpRequest(); - xhr.open("POST", "save.php?key=" + key1 + "&saveFilenamePrefix=tests"); + xhr.open("GET", "test_write.php"); xhr.onload = function() { var doc = xhr.response; - var state = doc.querySelector("message").textContent; - var file = doc.querySelector("file"); - expect(file.textContent).to.equal("\"saves/tests-" + key1 + ".xml\""); - expect(file.getAttribute("bytes")).to.equal("0"); - expect(state).to.equal("OK"); + var response = doc.querySelector("response"); + var message = doc.querySelector("message"); + expect(response.getAttribute("state")).to.equal("OK"); done(); } xhr.responseType = "document"; xhr.send(); }); - it("should return a file on payload save", function(done) { - var xhr = new XMLHttpRequest(); - xhr.open("POST", "save.php?key=" + key1 + "&saveFilenamePrefix=tests"); - xhr.onload = function() { - var doc = xhr.response; - var state = doc.querySelector("message").textContent; - var file = doc.querySelector("file"); - expect(file.textContent).to.equal("\"saves/tests-" + key1 + ".xml\""); - expect(file.getAttribute("bytes")).not.to.equal("0"); - expect(state).to.equal("OK"); - done(); - } - xhr.responseType = "document"; - xhr.send("<xml></xml>"); - }); }); window.onload = function() { mocha.run();
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/php/test_write.php Mon Sep 11 17:41:40 2017 +0100 @@ -0,0 +1,10 @@ +<?php +$file = "../saves/test-save.xml"; +$state = file_put_contents($file, "<xml></xml>"); +if ($state == FALSE) { + echo "<response state=\"error\"><message>Could not open file</message></response>"; +} else { + unlink($file) or die("<response state=\"error\"><message>Could not open file</message></response>"); + echo "<response state=\"OK\"><message>OK</message></response>"; +} +?>
--- a/python/pythonServer.py Mon Sep 11 17:22:23 2017 +0100 +++ b/python/pythonServer.py Mon Sep 11 17:41:40 2017 +0100 @@ -173,6 +173,35 @@ self.wfile.write(bytes(reply, "utf-8")) curSaveIndex += 1 curFileName = 'test-'+str(curSaveIndex)+'.xml' + +def testSave(self): + self.send_response(200) + self.send_header("Content-type", "text/xml") + self.end_headers() + filename = "../saves/test-save.xml" + file = open(filename,'wb') + if sys.version_info[0] == 2: + file.write("<xml></xml>") + elif sys.version_info[0] == 3: + file.write(bytes("<xml></xml>", "utf-8")) + file.close() + message = "" + try: + wbytes = os.path.getsize(filename) + except OSError: + message = '<response state="error"><message>Could not open file</message></response>'; + if sys.version_info[0] == 2: + self.wfile.write(message) + elif sys.version_info[0] == 3: + self.wfile.write(bytes(message, "utf-8")) + return + os.remove(filename) + message = '<response state="OK"><message>OK</message></response>'; + if sys.version_info[0] == 2: + self.wfile.write(message) + elif sys.version_info[0] == 3: + self.wfile.write(bytes(message, "utf-8")) + def poolXML(s): pool = ET.parse('../tests/pool.xml') @@ -243,6 +272,8 @@ requestKey(request); elif (request.path.split('?',1)[0] == "/php/pool.php"): poolXML(request); + elif (request.path.split('?',1)[0] == "/php/test_write.php"): + testSave(request); else: request.path = request.path.split('?',1)[0] if (request.path == '/'):