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)