|
15 | 15 | */ |
16 | 16 | package net.gleske.jervis.remotes |
17 | 17 | //the GitHubGraphQLTest() class automatically sees the GitHub() class because they're in the same package |
| 18 | +import net.gleske.jervis.exceptions.JervisException |
18 | 19 | import org.junit.After |
19 | 20 | import org.junit.Before |
20 | 21 | import org.junit.Test |
@@ -138,4 +139,43 @@ class GitHubGraphQLTest extends GroovyTestCase { |
138 | 139 | assert response instanceof Map |
139 | 140 | assert response == [:] |
140 | 141 | } |
| 142 | + @Test public void test_GitHubGraphQL_getJervisYamlFiles_repositoryWithOwner_defaults() { |
| 143 | + Map shouldRespond = ['gitRef0':['jervisYaml0':null, 'jervisYaml1':['text':'mock response data'], 'rootFolder':['file':[['name':'.travis.yml', 'type':'blob'], ['name':'README.md', 'type':'blob']]]]] |
| 144 | + Map response = mygh.getJervisYamlFiles('samrocketman/jervis') |
| 145 | + assert shouldRespond.keySet() == response.keySet() |
| 146 | + assert shouldRespond['gitRef0'].keySet() == response['gitRef0'].keySet() |
| 147 | + assert shouldRespond['gitRef0']['jervisYaml0'] == response['gitRef0']['jervisYaml0'] |
| 148 | + assert shouldRespond['gitRef0']['jervisYaml1'] == response['gitRef0']['jervisYaml1'] |
| 149 | + assert shouldRespond['gitRef0']['rootFolder']['file']*.name == response['gitRef0']['rootFolder']['file']*.name |
| 150 | + assert shouldRespond['gitRef0']['rootFolder']['file']*.type == response['gitRef0']['rootFolder']['file']*.type |
| 151 | + } |
| 152 | + @Test public void test_GitHubGraphQL_getJervisYamlFiles_repositoryWithOwner_two_branches_defaults() { |
| 153 | + Map shouldRespond = ['gitRef0':['jervisYaml0':null, 'jervisYaml1':['text':'mock data 1'], 'rootFolder':['file':[['name':'.travis.yml', 'type':'blob'], ['name':'README.md', 'type':'blob']]]], 'gitRef1':['jervisYaml0':null, 'jervisYaml1':['text':'mock data 2'], 'rootFolder':['file':[['name':'.travis.yml', 'type':'blob'], ['name':'CHANGELOG.md', 'type':'blob'], ['name':'README.md', 'type':'blob']]]]] |
| 154 | + Map response = mygh.getJervisYamlFiles('samrocketman/jervis', ['refs/heads/master', 'refs/heads/jervis_simple']) |
| 155 | + assert shouldRespond['gitRef0'].keySet() == response['gitRef0'].keySet() |
| 156 | + assert shouldRespond['gitRef0']['jervisYaml0'] == response['gitRef0']['jervisYaml0'] |
| 157 | + assert shouldRespond['gitRef0']['jervisYaml1'] == response['gitRef0']['jervisYaml1'] |
| 158 | + assert shouldRespond['gitRef0']['rootFolder']['file']*.name == response['gitRef0']['rootFolder']['file']*.name |
| 159 | + assert shouldRespond['gitRef0']['rootFolder']['file']*.type == response['gitRef0']['rootFolder']['file']*.type |
| 160 | + assert shouldRespond['gitRef1'].keySet() == response['gitRef1'].keySet() |
| 161 | + assert shouldRespond['gitRef1']['jervisYaml0'] == response['gitRef1']['jervisYaml0'] |
| 162 | + assert shouldRespond['gitRef1']['jervisYaml1'] == response['gitRef1']['jervisYaml1'] |
| 163 | + assert shouldRespond['gitRef1']['rootFolder']['file']*.name == response['gitRef1']['rootFolder']['file']*.name |
| 164 | + assert shouldRespond['gitRef1']['rootFolder']['file']*.type == response['gitRef1']['rootFolder']['file']*.type |
| 165 | + } |
| 166 | + @Test public void test_GitHubGraphQL_getJervisYamlFiles_repositoryWithOwner_invalid_apiErr() { |
| 167 | + Map response = mygh.getJervisYamlFiles('invalid/invalid') |
| 168 | + assert response instanceof Map |
| 169 | + assert response == [:] |
| 170 | + } |
| 171 | + @Test public void test_GitHubGraphQL_getJervisYamlFiles_repositoryWithOwner_invalid() { |
| 172 | + shouldFail(JervisException) { |
| 173 | + mygh.getJervisYamlFiles('invalid') |
| 174 | + } |
| 175 | + } |
| 176 | + @Test public void test_GitHubGraphQL_getJervisYamlFiles_repositoryWithOwner_invalid_tooMany() { |
| 177 | + shouldFail(JervisException) { |
| 178 | + mygh.getJervisYamlFiles('invalid/invalid/invalid') |
| 179 | + } |
| 180 | + } |
141 | 181 | } |
0 commit comments