Add script to fetch a file from CIPD.
BUG=chromium:1096407
TEST=manually verified with crrev.com/c/2251682
TEST=run_pytest scripts/fetch_cipd_unittest.py
Change-Id: I7a725f4c789f9b4935c3be91ec0e901209731770
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/2287020
Tested-by: Tatsuhisa Yamaguchi <yamaguchi@chromium.org>
Commit-Queue: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
diff --git a/scripts/fetch_cipd_unittest.py b/scripts/fetch_cipd_unittest.py
new file mode 100644
index 0000000..6652f4a
--- /dev/null
+++ b/scripts/fetch_cipd_unittest.py
@@ -0,0 +1,28 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"""Test fetch_cipd."""
+
+from chromite.lib import cros_test_lib
+from chromite.scripts import fetch_cipd
+
+
+class FetchCipdTest(cros_test_lib.TestCase):
+ """Tests for fetch_cipd script."""
+
+ def testParseCipdUri(self):
+ uri = 'cipd://chromiumos/infra/tclint/linux-amd64:abcdefghijklm'
+ path, version = fetch_cipd.ParseCipdUri(uri)
+ self.assertEqual('chromiumos/infra/tclint/linux-amd64', path)
+ self.assertEqual('abcdefghijklm', version)
+
+ def testParseCipdUriWrongScheme(self):
+ uri = 'gs://chromiumos/infra/tclint/linux-amd64:abcdefghijklm'
+ with self.assertRaises(ValueError):
+ fetch_cipd.ParseCipdUri(uri)
+
+ def testParseCipdUriNoVersion(self):
+ uri = 'cipd://chromiumos/infra/tclint/linux-amd64'
+ with self.assertRaises(ValueError):
+ fetch_cipd.ParseCipdUri(uri)