Merge branch '21207-pytest'
[arvados.git] / sdk / cwl / tests / test_urljoin.py
1 # Copyright (C) The Arvados Authors. All rights reserved.
2 #
3 # SPDX-License-Identifier: Apache-2.0
4
5 import functools
6 import sys
7 import unittest
8 import json
9 import logging
10 import os
11
12 from unittest import mock
13
14 import arvados
15 import arvados.keep
16 import arvados.collection
17 import arvados_cwl
18
19 from arvados_cwl.fsaccess import CollectionFetcher
20
21 class TestUrljoin(unittest.TestCase):
22     def test_urljoin(self):
23         """Test path joining for keep references."""
24
25         cf = CollectionFetcher({}, None)
26
27         self.assertEqual("keep:99999999999999999999999999999991+99/hw.py",
28                           cf.urljoin("keep:99999999999999999999999999999991+99", "hw.py"))
29
30         self.assertEqual("keep:99999999999999999999999999999991+99/hw.py",
31                           cf.urljoin("keep:99999999999999999999999999999991+99/", "hw.py"))
32
33         self.assertEqual("keep:99999999999999999999999999999991+99/hw.py#main",
34                           cf.urljoin("keep:99999999999999999999999999999991+99", "hw.py#main"))
35
36         self.assertEqual("keep:99999999999999999999999999999991+99/hw.py#main",
37                           cf.urljoin("keep:99999999999999999999999999999991+99/hw.py", "#main"))
38
39         self.assertEqual("keep:99999999999999999999999999999991+99/dir/hw.py#main",
40                           cf.urljoin("keep:99999999999999999999999999999991+99/dir/hw.py", "#main"))
41
42         self.assertEqual("keep:99999999999999999999999999999991+99/dir/wh.py",
43                           cf.urljoin("keep:99999999999999999999999999999991+99/dir/hw.py", "wh.py"))
44
45         self.assertEqual("keep:99999999999999999999999999999991+99/wh.py",
46                           cf.urljoin("keep:99999999999999999999999999999991+99/dir/hw.py", "/wh.py"))
47
48         self.assertEqual("keep:99999999999999999999999999999991+99/wh.py#main",
49                           cf.urljoin("keep:99999999999999999999999999999991+99/dir/hw.py", "/wh.py#main"))
50
51         self.assertEqual("keep:99999999999999999999999999999991+99/wh.py",
52                           cf.urljoin("keep:99999999999999999999999999999991+99/hw.py#main", "wh.py"))
53
54         self.assertEqual("keep:99999999999999999999999999999992+99",
55                           cf.urljoin("keep:99999999999999999999999999999991+99", "keep:99999999999999999999999999999992+99"))
56
57         self.assertEqual("keep:99999999999999999999999999999991+99/dir/wh.py",
58                           cf.urljoin("keep:99999999999999999999999999999991+99/dir/", "wh.py"))
59
60     def test_resolver(self):
61         pass