devserver: Fix fileinfo API
The 'fileinfo' devserver API is broken since since there was no unittest
for it. This CL fixes the API and adds unittest for it.
BUG=chromium:1018237
TEST=devserver_integration_test.py
TEST=./devserver.py --static_dir=/mnt/host/source/devserver/static
then:
curl http://127.0.0.1:8080/api/fileinfo/reef-release/R80-12622.0.0/update.gz
(assuming reef-release/R80-12622.0.0/full_update has been staged.)
returns:
{"sha256": "HPVNNZq9/rZG1imLrACEhRskstwohQpX5gjQJLCAXZ8=", "size": 1010445126}
Change-Id: I6876b9004bc264aba131b41ac158e544fe704711
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/dev-util/+/1884310
Tested-by: Amin Hassani <ahassani@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Amin Hassani <ahassani@chromium.org>
diff --git a/devserver_integration_test.py b/devserver_integration_test.py
index dae1f9b..0cfcc98 100755
--- a/devserver_integration_test.py
+++ b/devserver_integration_test.py
@@ -395,6 +395,15 @@
self.assertTrue(process.is_running())
self.assertTrue('devserver.py' in process.cmdline())
+ def testFileInfo(self):
+ """Verifies the fileinfo API."""
+ response = self._MakeRPC('/'.join(['api', 'fileinfo', LABEL,
+ TEST_UPDATE_PAYLOAD_NAME]))
+ self.assertEqual(
+ response,
+ '{"sha256": "hgfZ19hcsA5OGUN3f4SDtoO0kzT24o+JsGgjNVCVEy0=", '
+ '"size": 36}')
+
class DevserverExtendedTests(AutoStartDevserverTestBase):
"""Longer running integration tests that test interaction with Google Storage.
@@ -550,6 +559,7 @@
self.assertTrue(fake_file_name in response)
shutil.rmtree(build_dir, ignore_errors=True)
+
if __name__ == '__main__':
logging_format = '%(levelname)-8s: %(message)s'
logging.basicConfig(level=logging.DEBUG, format=logging_format)