aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/test
diff options
context:
space:
mode:
authorEgor Tensin <Egor.Tensin@gmail.com>2021-07-30 21:39:13 +0300
committerEgor Tensin <Egor.Tensin@gmail.com>2021-07-30 21:39:13 +0300
commitce4b199fe472c23f37376fc2e30e946c93bd4952 (patch)
treeada8ee10ace169e86ab6477307ea0aa8de3d95e4 /test
parentv1.1.1 (diff)
downloadcgitize-ce4b199fe472c23f37376fc2e30e946c93bd4952.tar.gz
cgitize-ce4b199fe472c23f37376fc2e30e946c93bd4952.zip
add some unit tests
This is a first step towards integrating with GitHub/Bitbucket properly.
Diffstat (limited to 'test')
-rw-r--r--test/__init__.py0
-rw-r--r--test/test_bitbucket.py34
-rw-r--r--test/test_github.py26
3 files changed, 60 insertions, 0 deletions
diff --git a/test/__init__.py b/test/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/__init__.py
diff --git a/test/test_bitbucket.py b/test/test_bitbucket.py
new file mode 100644
index 0000000..776c48c
--- /dev/null
+++ b/test/test_bitbucket.py
@@ -0,0 +1,34 @@
+# Copyright (c) 2021 Egor Tensin <Egor.Tensin@gmail.com>
+# This file is part of the "cgitize" project.
+# For details, see https://github.com/egor-tensin/cgitize.
+# Distributed under the MIT License.
+
+import unittest
+
+from atlassian.bitbucket.cloud import Cloud
+from requests.exceptions import HTTPError
+
+
+class BitbucketTests(unittest.TestCase):
+ def setUp(self):
+ self.bitbucket = Cloud(cloud=True)
+
+ def test_nonexistent_repo(self):
+ with self.assertRaises(HTTPError):
+ self.bitbucket.repositories.get('doesnot/exist')
+
+ def test_existing_repo(self):
+ r = self.bitbucket.repositories.get('egor-tensin/cgitize-test-repository')
+ self.assertEqual(r['name'], 'cgitize-test-repository')
+ self.assertEqual(r['description'], 'Test cgitize repository')
+
+ https_links = [link for link in r['links']['clone'] if link['name'] == 'https']
+ self.assertEqual(len(https_links), 1)
+ self.assertEqual(https_links[0]['href'], 'https://bitbucket.org/egor-tensin/cgitize-test-repository.git')
+
+ ssh_links = [link for link in r['links']['clone'] if link['name'] == 'ssh']
+ self.assertEqual(len(ssh_links), 1)
+ self.assertEqual(ssh_links[0]['href'], 'git@bitbucket.org:egor-tensin/cgitize-test-repository.git')
+
+ self.assertEqual(r['owner']['display_name'], 'Egor Tensin')
+ self.assertEqual(r['owner']['nickname'], 'egor-tensin')
diff --git a/test/test_github.py b/test/test_github.py
new file mode 100644
index 0000000..ab96ecc
--- /dev/null
+++ b/test/test_github.py
@@ -0,0 +1,26 @@
+# Copyright (c) 2021 Egor Tensin <Egor.Tensin@gmail.com>
+# This file is part of the "cgitize" project.
+# For details, see https://github.com/egor-tensin/cgitize.
+# Distributed under the MIT License.
+
+import unittest
+
+from github import Github, GithubException
+
+
+class GitHubTests(unittest.TestCase):
+ def setUp(self):
+ self.github = Github()
+
+ def test_nonexistent_repo(self):
+ with self.assertRaises(GithubException):
+ self.github.get_repo('doesnot/exist')
+
+ def test_existing_repo(self):
+ r = self.github.get_repo('egor-tensin/cgitize-test-repository')
+ self.assertEqual(r.name, 'cgitize-test-repository')
+ self.assertEqual(r.description, 'Test cgitize repository')
+ self.assertEqual(r.clone_url, 'https://github.com/egor-tensin/cgitize-test-repository.git')
+ self.assertEqual(r.ssh_url, 'git@github.com:egor-tensin/cgitize-test-repository.git')
+ self.assertEqual(r.owner.name, 'Egor Tensin')
+ self.assertEqual(r.owner.login, 'egor-tensin')