Reorganized test setup to avoid repeated authentication during tests.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import requests
|
||||
import urllib.parse
|
||||
from uuid import UUID
|
||||
from azure.identity import DefaultAzureCredential
|
||||
|
||||
DEVOPS_SCOPE = "https://app.vssps.visualstudio.com/.default"
|
||||
DEVOPS_API_VERSION = "7.1"
|
||||
@@ -105,7 +106,9 @@ class DevOps():
|
||||
return entities_list
|
||||
|
||||
class Organization(DevOps):
|
||||
def __init__(self, org_url: str, token: str, api_version: str = DEVOPS_API_VERSION):
|
||||
def __init__(self, org_url: str, token: str | None = None, api_version: str = DEVOPS_API_VERSION):
|
||||
if token is None:
|
||||
token = DefaultAzureCredential().get_token(DEVOPS_SCOPE).token
|
||||
super().__init__(org_url, token, api_version)
|
||||
|
||||
@property
|
||||
|
||||
11
tests.py
11
tests.py
@@ -1,15 +1,14 @@
|
||||
#!/usr/bin/env python3
|
||||
import unittest
|
||||
from devops import DEVOPS_SCOPE, Organization, Repository, Project, Item
|
||||
from azure.identity import DefaultAzureCredential
|
||||
from devops import Organization, Repository, Project, Item
|
||||
|
||||
# Example: set up your org here if possible, or mock as needed
|
||||
# org = Organization("https://dev.azure.com/mcovsandbox", DefaultAzureCredential().get_token(DEVOPS_SCOPE).token)
|
||||
# Setup the Organization object outside the test class to speed up tests.
|
||||
# Each Unit test instantinates the class, so doing it here avoids repeated authentication.
|
||||
org = Organization("https://dev.azure.com/mcovsandbox")
|
||||
|
||||
class TestDevOps(unittest.TestCase):
|
||||
def setUp(self):
|
||||
# Set up your Organization object here if possible
|
||||
self.org = Organization("https://dev.azure.com/mcovsandbox", DefaultAzureCredential().get_token(DEVOPS_SCOPE).token)
|
||||
self.org = org
|
||||
|
||||
def test_listing_projects_in_organization(self):
|
||||
org = self.org
|
||||
|
||||
Reference in New Issue
Block a user