Remote XBuddy function.
Locate artifacts on GS, given aliases for versions.
BUG=chromium:252942
TEST=Unittests, Manual
xbuddy_unittests.py updated for new functions
Run devserver and query xbuddy using any path with remote aliases.
e.g.
http://{your_ip}:8080/xbuddy/parrot/latest-stable/test
http://{your_ip}:8080/xbuddy/parrot/latest-official/test
http://{your_ip}:8080/xbuddy/parrot/latest-official-paladin/test
http://{your_ip}:8080/xbuddy/parrot/latest-R27/test
Change-Id: I171e23cbfbaa6ce181b09393c2c6e6dfb12baca5
Reviewed-on: https://gerrit.chromium.org/gerrit/61802
Commit-Queue: Joy Chen <joychen@chromium.org>
Reviewed-by: Joy Chen <joychen@chromium.org>
Tested-by: Joy Chen <joychen@chromium.org>
diff --git a/gsutil_util_unittest.py b/gsutil_util_unittest.py
index 8225a75..638c5fe 100755
--- a/gsutil_util_unittest.py
+++ b/gsutil_util_unittest.py
@@ -164,6 +164,31 @@
self.assertEqual(returned_name, None)
self.mox.VerifyAll()
+ def testGetLatestVersionFromGSDir(self):
+ """Test that we can get the most recent version from gsutil calls."""
+ self.mox.StubOutWithMock(gsutil_util, 'GSUtilRun')
+ mock_data1 = '''gs://chromeos-releases/stable-channel/parrot/3701.96.0/
+ gs://chromeos-releases/stable-channel/parrot/3701.98.0/
+ gs://chromeos-releases/stable-channel/parrot/3912.100.0/
+ gs://chromeos-releases/stable-channel/parrot/3912.101.0/
+ gs://chromeos-releases/stable-channel/parrot/3912.79.0/
+ gs://chromeos-releases/stable-channel/parrot/3912.79.1/'''
+ gsutil_util.GSUtilRun(mox.IgnoreArg(),
+ mox.IgnoreArg()).AndReturn(mock_data1)
+ mock_data2 = '''gs://chromeos-image-archive/parrot-release/R28-3912.101.0/a
+ gs://chromeos-image-archive/parrot-release/R28-3912.101.0/image.zip
+ gs://chromeos-image-archive/parrot-release/R28-3912.101.0/index.html
+ gs://chromeos-image-archive/parrot-release/R28-3912.101.0/metadata.json
+ gs://chromeos-image-archive/parrot-release/R28-3912.101.0/stateful.tgz'''
+ gsutil_util.GSUtilRun(mox.IgnoreArg(),
+ mox.IgnoreArg()).AndReturn(mock_data2)
+ self.mox.ReplayAll()
+ url = ''
+ self.assertEqual(gsutil_util.GetLatestVersionFromGSDir(url),
+ '3912.101.0')
+ self.assertEqual(gsutil_util.GetLatestVersionFromGSDir(url),
+ 'R28-3912.101.0')
+ self.mox.VerifyAll()
if __name__ == '__main__':
unittest.main()