Skip to content
This repository was archived by the owner on Sep 4, 2020. It is now read-only.

Commit d4af2c0

Browse files
author
Caitlin Bales (MSFT)
committed
Add schema extensions + tests
1 parent ceadb49 commit d4af2c0

37 files changed

+1540
-6
lines changed

graphsdk/src/androidTest/java/com/microsoft/graph/functional/ODataTests.java

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,20 @@
55

66
import com.google.gson.JsonElement;
77
import com.google.gson.JsonPrimitive;
8+
import com.microsoft.graph.extensions.ExtensionSchemaProperty;
89
import com.microsoft.graph.extensions.Group;
910
import com.microsoft.graph.extensions.GroupDeltaCollectionPage;
1011
import com.microsoft.graph.extensions.IGroupDeltaCollectionPage;
1112
import com.microsoft.graph.extensions.IGroupDeltaCollectionRequest;
1213
import com.microsoft.graph.extensions.IGroupDeltaCollectionRequestBuilder;
1314
import com.microsoft.graph.extensions.Extension;
15+
import com.microsoft.graph.extensions.SchemaExtension;
1416
//import com.microsoft.graph.extensions.IUserGetMailTipsCollectionPage;
1517
//import com.microsoft.graph.extensions.MailTips;
1618
//import com.microsoft.graph.extensions.MailTipsType;
1719
//import com.microsoft.graph.extensions.RecipientScopeType;
1820

21+
import org.junit.Assert;
1922
import org.junit.Before;
2023
import org.junit.Test;
2124

@@ -55,6 +58,60 @@ public void testOpenExtensions() {
5558
// testBase.graphClient.getMe().getExtensions(newExtension.id).buildRequest().delete();
5659
}
5760

61+
@Test
62+
public void testSchemaExtensions() {
63+
SchemaExtension extension = new SchemaExtension();
64+
extension.id = "schematest";
65+
extension.description = "Android Graph SDK test";
66+
List<String> targets = new ArrayList<>();
67+
targets.add("Group");
68+
extension.targetTypes = targets;
69+
70+
ExtensionSchemaProperty prop = new ExtensionSchemaProperty();
71+
prop.name = "courseId";
72+
prop.type = "Integer";
73+
74+
ExtensionSchemaProperty prop2 = new ExtensionSchemaProperty();
75+
prop2.name = "courseName";
76+
prop2.type = "String";
77+
78+
List<ExtensionSchemaProperty> properties = new ArrayList<>();
79+
properties.add(prop);
80+
properties.add(prop2);
81+
extension.properties = properties;
82+
83+
SchemaExtension newExtension = testBase.graphClient.getSchemaExtensions().buildRequest().post(extension);
84+
assertEquals(extension.description, newExtension.description);
85+
86+
SchemaExtension patchExtension = new SchemaExtension();
87+
List<ExtensionSchemaProperty> patchProperties = new ArrayList<>();
88+
ExtensionSchemaProperty patchProperty = new ExtensionSchemaProperty();
89+
patchProperty.name = "newItem";
90+
patchProperty.type = "String";
91+
patchProperties.add(prop);
92+
patchProperties.add(prop2);
93+
patchProperties.add(patchProperty);
94+
95+
patchExtension.properties = patchProperties;
96+
97+
testBase.graphClient.getSchemaExtensions(newExtension.id).buildRequest().patch(patchExtension);
98+
SchemaExtension updatedExtension = testBase.graphClient.getSchemaExtensions(newExtension.id).buildRequest().get();
99+
100+
boolean foundUpdatedProperty = false;
101+
for (ExtensionSchemaProperty updatedProperty : updatedExtension.properties) {
102+
if (updatedProperty.name.equals(patchProperty.name)) {
103+
assertEquals(patchProperty.type, updatedProperty.type);
104+
foundUpdatedProperty = true;
105+
break;
106+
}
107+
}
108+
if (!foundUpdatedProperty) {
109+
Assert.fail("Patch failed on Schema Extension");
110+
}
111+
112+
testBase.graphClient.getSchemaExtensions(newExtension.id).buildRequest().delete();
113+
}
114+
58115
@Test
59116
public void testEnumFlags() {
60117
// EnumSet<MailTipsType> mailTips = EnumSet.noneOf(MailTipsType.class);
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// ------------------------------------------------------------------------------
2+
// Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License in the project root for license information.
3+
// ------------------------------------------------------------------------------
4+
5+
package com.microsoft.graph.extensions;
6+
7+
import com.microsoft.graph.concurrency.*;
8+
import com.microsoft.graph.core.*;
9+
import com.microsoft.graph.extensions.*;
10+
import com.microsoft.graph.http.*;
11+
import com.microsoft.graph.generated.*;
12+
import com.microsoft.graph.options.*;
13+
import com.microsoft.graph.serializer.*;
14+
15+
import java.util.Arrays;
16+
import java.util.EnumSet;
17+
18+
// This file is available for extending, afterwards please submit a pull request.
19+
20+
/**
21+
* The class for the Complex Extension Value.
22+
*/
23+
public class ComplexExtensionValue extends BaseComplexExtensionValue {
24+
25+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// ------------------------------------------------------------------------------
2+
// Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License in the project root for license information.
3+
// ------------------------------------------------------------------------------
4+
5+
package com.microsoft.graph.extensions;
6+
7+
import com.microsoft.graph.concurrency.*;
8+
import com.microsoft.graph.core.*;
9+
import com.microsoft.graph.extensions.*;
10+
import com.microsoft.graph.http.*;
11+
import com.microsoft.graph.generated.*;
12+
import com.microsoft.graph.options.*;
13+
import com.microsoft.graph.serializer.*;
14+
15+
import java.util.Arrays;
16+
import java.util.EnumSet;
17+
18+
// This file is available for extending, afterwards please submit a pull request.
19+
20+
/**
21+
* The class for the Extension Schema Property.
22+
*/
23+
public class ExtensionSchemaProperty extends BaseExtensionSchemaProperty {
24+
25+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// ------------------------------------------------------------------------------
2+
// Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License in the project root for license information.
3+
// ------------------------------------------------------------------------------
4+
5+
package com.microsoft.graph.extensions;
6+
7+
import com.microsoft.graph.concurrency.*;
8+
import com.microsoft.graph.core.*;
9+
import com.microsoft.graph.extensions.*;
10+
import com.microsoft.graph.http.*;
11+
import com.microsoft.graph.generated.*;
12+
import com.microsoft.graph.options.*;
13+
import com.microsoft.graph.serializer.*;
14+
15+
import java.util.Arrays;
16+
import java.util.EnumSet;
17+
18+
// This file is available for extending, afterwards please submit a pull request.
19+
20+
/**
21+
* The interface for the Schema Extension Collection Page.
22+
*/
23+
public interface ISchemaExtensionCollectionPage extends IBaseSchemaExtensionCollectionPage {
24+
25+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// ------------------------------------------------------------------------------
2+
// Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License in the project root for license information.
3+
// ------------------------------------------------------------------------------
4+
5+
package com.microsoft.graph.extensions;
6+
7+
import com.microsoft.graph.concurrency.*;
8+
import com.microsoft.graph.core.*;
9+
import com.microsoft.graph.extensions.*;
10+
import com.microsoft.graph.http.*;
11+
import com.microsoft.graph.generated.*;
12+
import com.microsoft.graph.options.*;
13+
import com.microsoft.graph.serializer.*;
14+
15+
import java.util.Arrays;
16+
import java.util.EnumSet;
17+
18+
// This file is available for extending, afterwards please submit a pull request.
19+
20+
/**
21+
* The interface for the Schema Extension Collection Request.
22+
*/
23+
public interface ISchemaExtensionCollectionRequest extends IBaseSchemaExtensionCollectionRequest {
24+
25+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// ------------------------------------------------------------------------------
2+
// Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License in the project root for license information.
3+
// ------------------------------------------------------------------------------
4+
5+
package com.microsoft.graph.extensions;
6+
7+
import com.microsoft.graph.concurrency.*;
8+
import com.microsoft.graph.core.*;
9+
import com.microsoft.graph.extensions.*;
10+
import com.microsoft.graph.http.*;
11+
import com.microsoft.graph.generated.*;
12+
import com.microsoft.graph.options.*;
13+
import com.microsoft.graph.serializer.*;
14+
15+
import java.util.Arrays;
16+
import java.util.EnumSet;
17+
18+
// This file is available for extending, afterwards please submit a pull request.
19+
20+
/**
21+
* The interface for the Schema Extension Collection Request Builder.
22+
*/
23+
public interface ISchemaExtensionCollectionRequestBuilder extends IBaseSchemaExtensionCollectionRequestBuilder {
24+
25+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// ------------------------------------------------------------------------------
2+
// Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License in the project root for license information.
3+
// ------------------------------------------------------------------------------
4+
5+
package com.microsoft.graph.extensions;
6+
7+
import com.microsoft.graph.concurrency.*;
8+
import com.microsoft.graph.core.*;
9+
import com.microsoft.graph.extensions.*;
10+
import com.microsoft.graph.http.*;
11+
import com.microsoft.graph.generated.*;
12+
import com.microsoft.graph.options.*;
13+
import com.microsoft.graph.serializer.*;
14+
15+
import java.util.Arrays;
16+
import java.util.EnumSet;
17+
18+
// This file is available for extending, afterwards please submit a pull request.
19+
20+
/**
21+
* The interface for the Schema Extension Request.
22+
*/
23+
public interface ISchemaExtensionRequest extends IBaseSchemaExtensionRequest {
24+
25+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// ------------------------------------------------------------------------------
2+
// Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License in the project root for license information.
3+
// ------------------------------------------------------------------------------
4+
5+
package com.microsoft.graph.extensions;
6+
7+
import com.microsoft.graph.concurrency.*;
8+
import com.microsoft.graph.core.*;
9+
import com.microsoft.graph.extensions.*;
10+
import com.microsoft.graph.http.*;
11+
import com.microsoft.graph.generated.*;
12+
import com.microsoft.graph.options.*;
13+
import com.microsoft.graph.serializer.*;
14+
15+
import java.util.Arrays;
16+
import java.util.EnumSet;
17+
18+
// This file is available for extending, afterwards please submit a pull request.
19+
20+
/**
21+
* The interface for the Schema Extension Request Builder.
22+
*/
23+
public interface ISchemaExtensionRequestBuilder extends IBaseSchemaExtensionRequestBuilder {
24+
25+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// ------------------------------------------------------------------------------
2+
// Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License in the project root for license information.
3+
// ------------------------------------------------------------------------------
4+
5+
package com.microsoft.graph.extensions;
6+
7+
import com.microsoft.graph.concurrency.*;
8+
import com.microsoft.graph.core.*;
9+
import com.microsoft.graph.extensions.*;
10+
import com.microsoft.graph.http.*;
11+
import com.microsoft.graph.generated.*;
12+
import com.microsoft.graph.options.*;
13+
import com.microsoft.graph.serializer.*;
14+
15+
import java.util.Arrays;
16+
import java.util.EnumSet;
17+
18+
// This file is available for extending, afterwards please submit a pull request.
19+
20+
/**
21+
* The class for the Schema Extension.
22+
*/
23+
public class SchemaExtension extends BaseSchemaExtension {
24+
25+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// ------------------------------------------------------------------------------
2+
// Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License in the project root for license information.
3+
// ------------------------------------------------------------------------------
4+
5+
package com.microsoft.graph.extensions;
6+
7+
import com.microsoft.graph.concurrency.*;
8+
import com.microsoft.graph.core.*;
9+
import com.microsoft.graph.extensions.*;
10+
import com.microsoft.graph.http.*;
11+
import com.microsoft.graph.generated.*;
12+
import com.microsoft.graph.options.*;
13+
import com.microsoft.graph.serializer.*;
14+
15+
import java.util.Arrays;
16+
import java.util.EnumSet;
17+
18+
// This file is available for extending, afterwards please submit a pull request.
19+
20+
/**
21+
* The class for the Schema Extension Collection Page.
22+
*/
23+
public class SchemaExtensionCollectionPage extends BaseSchemaExtensionCollectionPage implements ISchemaExtensionCollectionPage {
24+
25+
/**
26+
* A collection page for SchemaExtension.
27+
*
28+
* @param response The serialized BaseSchemaExtensionCollectionResponse from the service
29+
* @param builder The request builder for the next collection page
30+
*/
31+
public SchemaExtensionCollectionPage(final BaseSchemaExtensionCollectionResponse response, final ISchemaExtensionCollectionRequestBuilder builder) {
32+
super(response, builder);
33+
}
34+
}

0 commit comments

Comments
 (0)