Skip to content

Commit d404f04

Browse files
committed
test: Metadata Taxonomies integration tests (box/box-codegen#897)
1 parent 42b2000 commit d404f04

File tree

3 files changed

+223
-14
lines changed

3 files changed

+223
-14
lines changed

.codegen.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{ "engineHash": "b029cfa", "specHash": "1e0848d", "version": "10.3.0" }
1+
{ "engineHash": "c370934", "specHash": "1e0848d", "version": "10.3.0" }

docs/metadatataxonomies.md

Lines changed: 52 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,10 @@ This operation is performed by calling function `createMetadataTaxonomy`.
2727
See the endpoint docs at
2828
[API Reference](https://developer.box.com/reference/post-metadata-taxonomies/).
2929

30-
*Currently we don't have an example for calling `createMetadataTaxonomy` in integration tests*
30+
<!-- sample post_metadata_taxonomies -->
31+
```
32+
client.getMetadataTaxonomies().createMetadataTaxonomy(new CreateMetadataTaxonomyRequestBody.Builder(displayName, namespace).key(taxonomyKey).build())
33+
```
3134

3235
### Arguments
3336

@@ -53,7 +56,10 @@ This operation is performed by calling function `getMetadataTaxonomies`.
5356
See the endpoint docs at
5457
[API Reference](https://developer.box.com/reference/get-metadata-taxonomies-id/).
5558

56-
*Currently we don't have an example for calling `getMetadataTaxonomies` in integration tests*
59+
<!-- sample get_metadata_taxonomies_id -->
60+
```
61+
client.getMetadataTaxonomies().getMetadataTaxonomies(namespace)
62+
```
5763

5864
### Arguments
5965

@@ -82,7 +88,10 @@ This operation is performed by calling function `getMetadataTaxonomyByKey`.
8288
See the endpoint docs at
8389
[API Reference](https://developer.box.com/reference/get-metadata-taxonomies-id-id/).
8490

85-
*Currently we don't have an example for calling `getMetadataTaxonomyByKey` in integration tests*
91+
<!-- sample get_metadata_taxonomies_id_id -->
92+
```
93+
client.getMetadataTaxonomies().getMetadataTaxonomyByKey(namespace, taxonomyKey)
94+
```
8695

8796
### Arguments
8897

@@ -110,7 +119,10 @@ This operation is performed by calling function `updateMetadataTaxonomy`.
110119
See the endpoint docs at
111120
[API Reference](https://developer.box.com/reference/patch-metadata-taxonomies-id-id/).
112121

113-
*Currently we don't have an example for calling `updateMetadataTaxonomy` in integration tests*
122+
<!-- sample patch_metadata_taxonomies_id_id -->
123+
```
124+
client.getMetadataTaxonomies().updateMetadataTaxonomy(namespace, taxonomyKey, new UpdateMetadataTaxonomyRequestBody(updatedDisplayName))
125+
```
114126

115127
### Arguments
116128

@@ -141,7 +153,10 @@ This operation is performed by calling function `deleteMetadataTaxonomy`.
141153
See the endpoint docs at
142154
[API Reference](https://developer.box.com/reference/delete-metadata-taxonomies-id-id/).
143155

144-
*Currently we don't have an example for calling `deleteMetadataTaxonomy` in integration tests*
156+
<!-- sample delete_metadata_taxonomies_id_id -->
157+
```
158+
client.getMetadataTaxonomies().deleteMetadataTaxonomy(namespace, taxonomyKey)
159+
```
145160

146161
### Arguments
147162

@@ -169,7 +184,10 @@ This operation is performed by calling function `createMetadataTaxonomyLevel`.
169184
See the endpoint docs at
170185
[API Reference](https://developer.box.com/reference/post-metadata-taxonomies-id-id-levels/).
171186

172-
*Currently we don't have an example for calling `createMetadataTaxonomyLevel` in integration tests*
187+
<!-- sample post_metadata_taxonomies_id_id_levels -->
188+
```
189+
client.getMetadataTaxonomies().createMetadataTaxonomyLevel(namespace, taxonomyKey, Arrays.asList(new MetadataTaxonomyLevel.Builder().displayName("Continent").description("Continent Level").build(), new MetadataTaxonomyLevel.Builder().displayName("Country").description("Country Level").build()))
190+
```
173191

174192
### Arguments
175193

@@ -232,7 +250,10 @@ This operation is performed by calling function `addMetadataTaxonomyLevel`.
232250
See the endpoint docs at
233251
[API Reference](https://developer.box.com/reference/post-metadata-taxonomies-id-id-levels:append/).
234252

235-
*Currently we don't have an example for calling `addMetadataTaxonomyLevel` in integration tests*
253+
<!-- sample post_metadata_taxonomies_id_id_levels:append -->
254+
```
255+
client.getMetadataTaxonomies().addMetadataTaxonomyLevel(namespace, taxonomyKey, new AddMetadataTaxonomyLevelRequestBody.Builder("Region").description("Region Description").build())
256+
```
236257

237258
### Arguments
238259

@@ -262,7 +283,10 @@ This operation is performed by calling function `deleteMetadataTaxonomyLevel`.
262283
See the endpoint docs at
263284
[API Reference](https://developer.box.com/reference/post-metadata-taxonomies-id-id-levels:trim/).
264285

265-
*Currently we don't have an example for calling `deleteMetadataTaxonomyLevel` in integration tests*
286+
<!-- sample post_metadata_taxonomies_id_id_levels:trim -->
287+
```
288+
client.getMetadataTaxonomies().deleteMetadataTaxonomyLevel(namespace, taxonomyKey)
289+
```
266290

267291
### Arguments
268292

@@ -292,7 +316,10 @@ This operation is performed by calling function `getMetadataTaxonomyNodes`.
292316
See the endpoint docs at
293317
[API Reference](https://developer.box.com/reference/get-metadata-taxonomies-id-id-nodes/).
294318

295-
*Currently we don't have an example for calling `getMetadataTaxonomyNodes` in integration tests*
319+
<!-- sample get_metadata_taxonomies_id_id_nodes -->
320+
```
321+
client.getMetadataTaxonomies().getMetadataTaxonomyNodes(namespace, taxonomyKey)
322+
```
296323

297324
### Arguments
298325

@@ -322,7 +349,10 @@ This operation is performed by calling function `createMetadataTaxonomyNode`.
322349
See the endpoint docs at
323350
[API Reference](https://developer.box.com/reference/post-metadata-taxonomies-id-id-nodes/).
324351

325-
*Currently we don't have an example for calling `createMetadataTaxonomyNode` in integration tests*
352+
<!-- sample post_metadata_taxonomies_id_id_nodes -->
353+
```
354+
client.getMetadataTaxonomies().createMetadataTaxonomyNode(namespace, taxonomyKey, new CreateMetadataTaxonomyNodeRequestBody("Europe", 1))
355+
```
326356

327357
### Arguments
328358

@@ -352,7 +382,10 @@ This operation is performed by calling function `getMetadataTaxonomyNodeById`.
352382
See the endpoint docs at
353383
[API Reference](https://developer.box.com/reference/get-metadata-taxonomies-id-id-nodes-id/).
354384

355-
*Currently we don't have an example for calling `getMetadataTaxonomyNodeById` in integration tests*
385+
<!-- sample get_metadata_taxonomies_id_id_nodes_id -->
386+
```
387+
client.getMetadataTaxonomies().getMetadataTaxonomyNodeById(namespace, taxonomyKey, countryNode.getId())
388+
```
356389

357390
### Arguments
358391

@@ -382,7 +415,10 @@ This operation is performed by calling function `updateMetadataTaxonomyNode`.
382415
See the endpoint docs at
383416
[API Reference](https://developer.box.com/reference/patch-metadata-taxonomies-id-id-nodes-id/).
384417

385-
*Currently we don't have an example for calling `updateMetadataTaxonomyNode` in integration tests*
418+
<!-- sample patch_metadata_taxonomies_id_id_nodes_id -->
419+
```
420+
client.getMetadataTaxonomies().updateMetadataTaxonomyNode(namespace, taxonomyKey, countryNode.getId(), new UpdateMetadataTaxonomyNodeRequestBody.Builder().displayName("Poland UPDATED").build())
421+
```
386422

387423
### Arguments
388424

@@ -416,7 +452,10 @@ This operation is performed by calling function `deleteMetadataTaxonomyNode`.
416452
See the endpoint docs at
417453
[API Reference](https://developer.box.com/reference/delete-metadata-taxonomies-id-id-nodes-id/).
418454

419-
*Currently we don't have an example for calling `deleteMetadataTaxonomyNode` in integration tests*
455+
<!-- sample delete_metadata_taxonomies_id_id_nodes_id -->
456+
```
457+
client.getMetadataTaxonomies().deleteMetadataTaxonomyNode(namespace, taxonomyKey, countryNode.getId())
458+
```
420459

421460
### Arguments
422461

Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
package com.box.sdkgen.metadatataxonomies;
2+
3+
import static com.box.sdkgen.commons.CommonsManager.getDefaultClient;
4+
import static com.box.sdkgen.internal.utils.UtilsManager.delayInSeconds;
5+
import static com.box.sdkgen.internal.utils.UtilsManager.getEnvVar;
6+
import static com.box.sdkgen.internal.utils.UtilsManager.getUuid;
7+
import static org.junit.jupiter.api.Assertions.assertThrows;
8+
9+
import com.box.sdkgen.client.BoxClient;
10+
import com.box.sdkgen.managers.metadatataxonomies.AddMetadataTaxonomyLevelRequestBody;
11+
import com.box.sdkgen.managers.metadatataxonomies.CreateMetadataTaxonomyNodeRequestBody;
12+
import com.box.sdkgen.managers.metadatataxonomies.CreateMetadataTaxonomyRequestBody;
13+
import com.box.sdkgen.managers.metadatataxonomies.UpdateMetadataTaxonomyNodeRequestBody;
14+
import com.box.sdkgen.managers.metadatataxonomies.UpdateMetadataTaxonomyRequestBody;
15+
import com.box.sdkgen.schemas.metadatataxonomies.MetadataTaxonomies;
16+
import com.box.sdkgen.schemas.metadatataxonomy.MetadataTaxonomy;
17+
import com.box.sdkgen.schemas.metadatataxonomylevel.MetadataTaxonomyLevel;
18+
import com.box.sdkgen.schemas.metadatataxonomylevels.MetadataTaxonomyLevels;
19+
import com.box.sdkgen.schemas.metadatataxonomynode.MetadataTaxonomyNode;
20+
import com.box.sdkgen.schemas.metadatataxonomynodes.MetadataTaxonomyNodes;
21+
import java.util.Arrays;
22+
import org.junit.jupiter.api.Test;
23+
24+
public class MetadataTaxonomiesITest {
25+
26+
private static final BoxClient client = getDefaultClient();
27+
28+
@Test
29+
public void testMetadataTaxonomiesCrud() {
30+
String namespace = String.join("", "enterprise_", getEnvVar("ENTERPRISE_ID"));
31+
String uuid = getUuid();
32+
String taxonomyKey = String.join("", "geography", uuid);
33+
String displayName = String.join("", "Geography Taxonomy", uuid);
34+
MetadataTaxonomy createdTaxonomy =
35+
client
36+
.getMetadataTaxonomies()
37+
.createMetadataTaxonomy(
38+
new CreateMetadataTaxonomyRequestBody.Builder(displayName, namespace)
39+
.key(taxonomyKey)
40+
.build());
41+
assert createdTaxonomy.getDisplayName().equals(displayName);
42+
assert createdTaxonomy.getNamespace().equals(namespace);
43+
MetadataTaxonomies taxonomies = client.getMetadataTaxonomies().getMetadataTaxonomies(namespace);
44+
assert taxonomies.getEntries().size() > 0;
45+
assert taxonomies.getEntries().get(0).getNamespace().equals(namespace);
46+
String updatedDisplayName = String.join("", "Geography Taxonomy UPDATED", uuid);
47+
MetadataTaxonomy updatedTaxonomy =
48+
client
49+
.getMetadataTaxonomies()
50+
.updateMetadataTaxonomy(
51+
namespace, taxonomyKey, new UpdateMetadataTaxonomyRequestBody(updatedDisplayName));
52+
assert updatedTaxonomy.getDisplayName().equals(updatedDisplayName);
53+
assert updatedTaxonomy.getNamespace().equals(namespace);
54+
assert updatedTaxonomy.getId().equals(createdTaxonomy.getId());
55+
MetadataTaxonomy getTaxonomy =
56+
client.getMetadataTaxonomies().getMetadataTaxonomyByKey(namespace, taxonomyKey);
57+
assert getTaxonomy.getDisplayName().equals(updatedDisplayName);
58+
assert getTaxonomy.getNamespace().equals(namespace);
59+
assert getTaxonomy.getId().equals(createdTaxonomy.getId());
60+
client.getMetadataTaxonomies().deleteMetadataTaxonomy(namespace, taxonomyKey);
61+
assertThrows(
62+
RuntimeException.class,
63+
() -> client.getMetadataTaxonomies().getMetadataTaxonomyByKey(namespace, taxonomyKey));
64+
}
65+
66+
@Test
67+
public void testMetadataTaxonomiesNodes() {
68+
String namespace = String.join("", "enterprise_", getEnvVar("ENTERPRISE_ID"));
69+
String uuid = getUuid();
70+
String taxonomyKey = String.join("", "geography", uuid);
71+
String displayName = String.join("", "Geography Taxonomy", uuid);
72+
MetadataTaxonomy createdTaxonomy =
73+
client
74+
.getMetadataTaxonomies()
75+
.createMetadataTaxonomy(
76+
new CreateMetadataTaxonomyRequestBody.Builder(displayName, namespace)
77+
.key(taxonomyKey)
78+
.build());
79+
assert createdTaxonomy.getDisplayName().equals(displayName);
80+
assert createdTaxonomy.getNamespace().equals(namespace);
81+
MetadataTaxonomyLevels taxonomyLevels =
82+
client
83+
.getMetadataTaxonomies()
84+
.createMetadataTaxonomyLevel(
85+
namespace,
86+
taxonomyKey,
87+
Arrays.asList(
88+
new MetadataTaxonomyLevel.Builder()
89+
.displayName("Continent")
90+
.description("Continent Level")
91+
.build(),
92+
new MetadataTaxonomyLevel.Builder()
93+
.displayName("Country")
94+
.description("Country Level")
95+
.build()));
96+
assert taxonomyLevels.getEntries().size() == 2;
97+
assert taxonomyLevels.getEntries().get(0).getDisplayName().equals("Continent");
98+
assert taxonomyLevels.getEntries().get(1).getDisplayName().equals("Country");
99+
MetadataTaxonomyLevels taxonomyLevelsAfterAddition =
100+
client
101+
.getMetadataTaxonomies()
102+
.addMetadataTaxonomyLevel(
103+
namespace,
104+
taxonomyKey,
105+
new AddMetadataTaxonomyLevelRequestBody.Builder("Region")
106+
.description("Region Description")
107+
.build());
108+
assert taxonomyLevelsAfterAddition.getEntries().size() == 3;
109+
assert taxonomyLevelsAfterAddition.getEntries().get(2).getDisplayName().equals("Region");
110+
MetadataTaxonomyLevels taxonomyLevelsAfterDeletion =
111+
client.getMetadataTaxonomies().deleteMetadataTaxonomyLevel(namespace, taxonomyKey);
112+
assert taxonomyLevelsAfterDeletion.getEntries().size() == 2;
113+
assert taxonomyLevelsAfterDeletion.getEntries().get(0).getDisplayName().equals("Continent");
114+
assert taxonomyLevelsAfterDeletion.getEntries().get(1).getDisplayName().equals("Country");
115+
MetadataTaxonomyNode continentNode =
116+
client
117+
.getMetadataTaxonomies()
118+
.createMetadataTaxonomyNode(
119+
namespace, taxonomyKey, new CreateMetadataTaxonomyNodeRequestBody("Europe", 1));
120+
assert continentNode.getDisplayName().equals("Europe");
121+
assert continentNode.getLevel() == 1;
122+
MetadataTaxonomyNode countryNode =
123+
client
124+
.getMetadataTaxonomies()
125+
.createMetadataTaxonomyNode(
126+
namespace,
127+
taxonomyKey,
128+
new CreateMetadataTaxonomyNodeRequestBody.Builder("Poland", 2)
129+
.parentId(continentNode.getId())
130+
.build());
131+
assert countryNode.getDisplayName().equals("Poland");
132+
assert countryNode.getLevel() == 2;
133+
assert countryNode.getParentId().equals(continentNode.getId());
134+
delayInSeconds(5);
135+
MetadataTaxonomyNodes allNodes =
136+
client.getMetadataTaxonomies().getMetadataTaxonomyNodes(namespace, taxonomyKey);
137+
assert allNodes.getEntries().size() == 2;
138+
MetadataTaxonomyNode updatedCountryNode =
139+
client
140+
.getMetadataTaxonomies()
141+
.updateMetadataTaxonomyNode(
142+
namespace,
143+
taxonomyKey,
144+
countryNode.getId(),
145+
new UpdateMetadataTaxonomyNodeRequestBody.Builder()
146+
.displayName("Poland UPDATED")
147+
.build());
148+
assert updatedCountryNode.getDisplayName().equals("Poland UPDATED");
149+
assert updatedCountryNode.getLevel() == 2;
150+
assert updatedCountryNode.getParentId().equals(countryNode.getParentId());
151+
assert updatedCountryNode.getId().equals(countryNode.getId());
152+
MetadataTaxonomyNode getCountryNode =
153+
client
154+
.getMetadataTaxonomies()
155+
.getMetadataTaxonomyNodeById(namespace, taxonomyKey, countryNode.getId());
156+
assert getCountryNode.getDisplayName().equals("Poland UPDATED");
157+
assert getCountryNode.getId().equals(countryNode.getId());
158+
client
159+
.getMetadataTaxonomies()
160+
.deleteMetadataTaxonomyNode(namespace, taxonomyKey, countryNode.getId());
161+
client
162+
.getMetadataTaxonomies()
163+
.deleteMetadataTaxonomyNode(namespace, taxonomyKey, continentNode.getId());
164+
delayInSeconds(5);
165+
MetadataTaxonomyNodes allNodesAfterDeletion =
166+
client.getMetadataTaxonomies().getMetadataTaxonomyNodes(namespace, taxonomyKey);
167+
assert allNodesAfterDeletion.getEntries().size() == 0;
168+
client.getMetadataTaxonomies().deleteMetadataTaxonomy(namespace, taxonomyKey);
169+
}
170+
}

0 commit comments

Comments
 (0)