@@ -12,10 +12,17 @@ class HarnessEnvEnum(str, Enum):
1212 CI_BUILD_LINK = "CI_BUILD_LINK"
1313 CI_BUILD_NUMBER = "CI_BUILD_NUMBER"
1414 CI_REPO = "CI_REPO"
15+ CI_REPO_NAMESPACE = "CI_REPO_NAMESPACE"
1516 DRONE = "DRONE"
1617 DRONE_COMMIT_BRANCH = "DRONE_COMMIT_BRANCH"
1718 DRONE_COMMIT_SHA = "DRONE_COMMIT_SHA"
1819 DRONE_PULL_REQUEST = "DRONE_PULL_REQUEST"
20+ DRONE_GIT_HTTP_URL = "DRONE_GIT_HTTP_URL"
21+ DRONE_REMOTE_URL = "DRONE_REMOTE_URL"
22+ DRONE_REPO = "DRONE_REPO"
23+ DRONE_REPO_NAME = "DRONE_REPO_NAME"
24+ DRONE_REPO_NAMESPACE = "DRONE_REPO_NAMESPACE"
25+ CI_REPO_REMOTE = "CI_REPO_REMOTE"
1926
2027class TestHarnessCI (object ):
2128 @pytest .mark .parametrize (
@@ -93,8 +100,49 @@ def test_build_url(self, env_dict, expected, mocker):
93100 @pytest .mark .parametrize (
94101 "env_dict,expected" ,
95102 [
96- ({}, None ),
97- ({HarnessEnvEnum .CI_REPO : "repo" }, "repo" ),
103+ ({}, None ),
104+ ({HarnessEnvEnum .DRONE_REPO : "owner/repo" }, "owner/repo" ),
105+ ({HarnessEnvEnum .CI_REPO : "owner/repo" }, "owner/repo" ),
106+ (
107+ {
108+ HarnessEnvEnum .DRONE_REPO_NAMESPACE : "owner" ,
109+ HarnessEnvEnum .DRONE_REPO_NAME : "repo" ,
110+ },
111+ "owner/repo" ,
112+ ),
113+ (
114+ {
115+ HarnessEnvEnum .DRONE_REPO_NAMESPACE : "owner" ,
116+ HarnessEnvEnum .CI_REPO : "repo" ,
117+ },
118+ "owner/repo" ,
119+ ),
120+ (
121+ {
122+ HarnessEnvEnum .CI_REPO_NAMESPACE : "owner" ,
123+ HarnessEnvEnum .CI_REPO : "repo" ,
124+ },
125+ "owner/repo" ,
126+ ),
127+ ({HarnessEnvEnum .CI_REPO : "repo" }, None ),
128+ (
129+ {
130+ HarnessEnvEnum .DRONE_GIT_HTTP_URL : "https://github.com/myorg/myrepo.git" ,
131+ },
132+ "myorg/myrepo" ,
133+ ),
134+ (
135+ {
136+ HarnessEnvEnum .CI_REPO_REMOTE : "https://gitlab.com/mygroup/myrepo.git" ,
137+ },
138+ "mygroup/myrepo" ,
139+ ),
140+ (
141+ {
142+ HarnessEnvEnum .DRONE_REMOTE_URL : "git@github.com:acme/coverage.git" ,
143+ },
144+ "acme/coverage" ,
145+ ),
98146 ],
99147 )
100148 def test_slug (self , env_dict , expected , mocker ):
0 commit comments