|
4 | 4 |
|
5 | 5 | package io.securecodebox.persistence.defectdojo.config; |
6 | 6 |
|
| 7 | +import io.securecodebox.persistence.defectdojo.exception.ConfigException; |
7 | 8 | import org.junit.jupiter.api.Disabled; |
8 | 9 | import org.junit.jupiter.api.Test; |
9 | 10 | import org.junit.jupiter.api.extension.ExtendWith; |
@@ -83,27 +84,71 @@ void fromEnv() { |
83 | 84 | } |
84 | 85 |
|
85 | 86 | @Test |
86 | | - @Disabled("Not implemented yet!") |
87 | 87 | void fromEnv_throwsExceptionIfNoUrlSet() { |
| 88 | + environmentVariables.set("DEFECTDOJO_USERNAME", "username") |
| 89 | + .set("DEFECTDOJO_APIKEY", "apikey") |
| 90 | + .set("DEFECTDOJO_USER_ID", "42"); |
| 91 | + |
| 92 | + final var thrown = assertThrows(ConfigException.class, Config::fromEnv); |
| 93 | + |
| 94 | + assertThat(thrown.getMessage(), is("Missing environment variable 'DEFECTDOJO_URL'!")); |
88 | 95 | } |
89 | 96 |
|
90 | 97 | @Test |
91 | | - @Disabled("Not implemented yet!") |
92 | 98 | void fromEnv_throwsExceptionIfNoUserNameSet() { |
| 99 | + environmentVariables.set("DEFECTDOJO_URL", "url") |
| 100 | + .set("DEFECTDOJO_APIKEY", "apikey") |
| 101 | + .set("DEFECTDOJO_USER_ID", "42"); |
| 102 | + |
| 103 | + final var thrown = assertThrows(ConfigException.class, Config::fromEnv); |
| 104 | + |
| 105 | + assertThat(thrown.getMessage(), is("Missing environment variable 'DEFECTDOJO_USERNAME'!")); |
93 | 106 | } |
94 | 107 |
|
95 | 108 | @Test |
96 | | - @Disabled("Not implemented yet!") |
97 | 109 | void fromEnv_throwsExceptionIfNoApiKeySet() { |
| 110 | + environmentVariables.set("DEFECTDOJO_URL", "url") |
| 111 | + .set("DEFECTDOJO_USERNAME", "username") |
| 112 | + .set("DEFECTDOJO_USER_ID", "42"); |
| 113 | + |
| 114 | + final var thrown = assertThrows(ConfigException.class, Config::fromEnv); |
| 115 | + |
| 116 | + assertThat(thrown.getMessage(), is("Missing environment variable 'DEFECTDOJO_APIKEY'!")); |
98 | 117 | } |
99 | 118 |
|
100 | 119 | @Test |
101 | | - @Disabled("Not implemented yet!") |
102 | | - void fromEnv_throwsExceptionIfNoUserIdSet() { |
| 120 | + void fromEnv_throwsExceptionIfUserIdIsNotParsableToLong() { |
| 121 | + environmentVariables.set("DEFECTDOJO_URL", "url") |
| 122 | + .set("DEFECTDOJO_USERNAME", "username") |
| 123 | + .set("DEFECTDOJO_APIKEY", "apikey") |
| 124 | + .set("DEFECTDOJO_USER_ID", "foo"); |
| 125 | + |
| 126 | + final var thrown = assertThrows(ConfigException.class, Config::fromEnv); |
| 127 | + |
| 128 | + assertThat(thrown.getMessage(), is("Given user id for environment variable 'DEFECTDOJO_USER_ID' is not a valid id! Given was 'foo'.")); |
103 | 129 | } |
104 | 130 |
|
105 | 131 | @Test |
106 | | - @Disabled("Not implemented yet!") |
107 | 132 | void fromEnv_usesDefaultIfNoMaxPageCountForGetSet() { |
| 133 | + environmentVariables.set("DEFECTDOJO_URL", "url") |
| 134 | + .set("DEFECTDOJO_USERNAME", "username") |
| 135 | + .set("DEFECTDOJO_APIKEY", "apikey") |
| 136 | + .set("DEFECTDOJO_USER_ID", "42"); |
| 137 | + |
| 138 | + final var sut = Config.fromEnv(); |
| 139 | + assertThat(sut.getMaxPageCountForGets(), is(Config.DEFAULT_MAX_PAGE_COUNT_FOR_GETS)); |
| 140 | + } |
| 141 | + |
| 142 | + @Test |
| 143 | + void fromEnv_throwsExceptionIfMaxPageCountForGetIsNotParseableToInteger() { |
| 144 | + environmentVariables.set("DEFECTDOJO_URL", "url") |
| 145 | + .set("DEFECTDOJO_USERNAME", "username") |
| 146 | + .set("DEFECTDOJO_APIKEY", "apikey") |
| 147 | + .set("DEFECTDOJO_USER_ID", "42") |
| 148 | + .set("DEFECTDOJO_MAX_PAGE_COUNT_FOR_GETS", "foo"); |
| 149 | + |
| 150 | + final var thrown = assertThrows(ConfigException.class, Config::fromEnv); |
| 151 | + |
| 152 | + assertThat(thrown.getMessage(), is("Given value for environment variable 'DEFECTDOJO_MAX_PAGE_COUNT_FOR_GETS' is not a valid number! Given was 'foo'.")); |
108 | 153 | } |
109 | 154 | } |
0 commit comments