|
2 | 2 |
|
3 | 3 | import com.github.tomakehurst.wiremock.WireMockServer;
|
4 | 4 | import com.github.tomakehurst.wiremock.junit.WireMockRule;
|
| 5 | +import com.sun.jna.platform.win32.Guid.GUID; |
5 | 6 | import com.versionone.apiclient.*;
|
| 7 | +import com.versionone.apiclient.exceptions.APIException; |
| 8 | +import com.versionone.apiclient.exceptions.ConnectionException; |
| 9 | +import com.versionone.apiclient.exceptions.OidException; |
6 | 10 | import com.versionone.apiclient.exceptions.V1Exception;
|
| 11 | +import com.versionone.apiclient.filters.FilterTerm; |
| 12 | + |
| 13 | +import org.apache.commons.lang.NullArgumentException; |
7 | 14 | import org.junit.Assert;
|
8 | 15 | import org.junit.Rule;
|
9 | 16 | import org.junit.Test;
|
|
14 | 21 | import com.versionone.apiclient.services.QueryResult;
|
15 | 22 |
|
16 | 23 | import java.net.MalformedURLException;
|
| 24 | +import java.util.UUID; |
17 | 25 |
|
18 | 26 | import static com.github.tomakehurst.wiremock.client.WireMock.*;
|
19 | 27 |
|
@@ -155,4 +163,48 @@ public void TestHasChangedOnAttributeSet() throws Exception {
|
155 | 163 | asset.setAttributeValue(nameAttributeDefinition, "Fred");
|
156 | 164 | Assert.assertTrue(asset.hasChanged());
|
157 | 165 | }
|
| 166 | + |
| 167 | + @Test |
| 168 | + public void Asset_with_valid_Guid_Attribute() throws ConnectionException, APIException, OidException { |
| 169 | + UUID payloadGuid = UUID.fromString("98771fb4-71b8-42ec-be8b-69414daa020e"); |
| 170 | + |
| 171 | + Services subject = new Services(getMeta(), getDataConnector()); |
| 172 | + IAssetType publicationType = getMeta().getAssetType("Publication"); |
| 173 | + IAttributeDefinition payloadAttribute = publicationType.getAttributeDefinition("Payload"); |
| 174 | + |
| 175 | + Query query = new Query(publicationType); |
| 176 | + query.getSelection().add(payloadAttribute); |
| 177 | + FilterTerm filter = new FilterTerm(payloadAttribute); |
| 178 | + filter.equal(payloadGuid); |
| 179 | + query.setFilter(filter); |
| 180 | + |
| 181 | + QueryResult result = subject.retrieve(query); |
| 182 | + |
| 183 | + UUID payloadFromResult = (UUID) result.getAssets()[0].getAttribute(payloadAttribute).getValue(); |
| 184 | + |
| 185 | + Assert.assertEquals(payloadGuid, payloadFromResult); |
| 186 | + } |
| 187 | + |
| 188 | + @Test |
| 189 | + public void Asset_with_null_Guid_Attribute() throws OidException { |
| 190 | + Services subject = new Services(getMeta(), getDataConnector()); |
| 191 | + Query query = new Query(Oid.fromToken("Publication:12346", getMeta())); |
| 192 | + |
| 193 | + IAssetType publicationType = getMeta().getAssetType("Publication"); |
| 194 | + IAttributeDefinition payloadAttribute = publicationType |
| 195 | + .getAttributeDefinition("Payload"); |
| 196 | + query.getSelection().add(payloadAttribute); |
| 197 | + |
| 198 | + try { |
| 199 | + subject.retrieve(query); |
| 200 | + } catch (NullArgumentException ex) { |
| 201 | + Assert.assertEquals( |
| 202 | + "value must not be null.", |
| 203 | + ex.getMessage()); |
| 204 | + return; |
| 205 | + } catch (Exception ex) { |
| 206 | + Assert.fail("Expected to raise ApiException, but did not."); |
| 207 | + } |
| 208 | + } |
| 209 | + |
158 | 210 | }
|
0 commit comments