Skip to content

Commit c5174d9

Browse files
authored
Merge pull request #887 from microsoftgraph/andrueastman/fixcaeandwarnings
fix: update to use non obsolete constructors and methods
2 parents 1a31c77 + f265823 commit c5174d9

File tree

3 files changed

+38
-65
lines changed

3 files changed

+38
-65
lines changed

src/Microsoft.Graph/GraphServiceClient.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ namespace Microsoft.Graph.Beta
1313
using Microsoft.Graph.Core.Requests;
1414
using Microsoft.Graph.Beta.Requests;
1515
using Microsoft.Kiota.Abstractions.Authentication;
16-
using Microsoft.Kiota.Authentication.Azure;
1716
using Microsoft.Kiota.Abstractions;
1817
using Azure.Core;
1918

@@ -49,7 +48,7 @@ public GraphServiceClient(
4948
TokenCredential tokenCredential,
5049
IEnumerable<string> scopes = null,
5150
string baseUrl = null
52-
):this(new Microsoft.Graph.Authentication.AzureIdentityAuthenticationProvider(tokenCredential, null, null,scopes?.ToArray() ?? Array.Empty<string>()), baseUrl)
51+
):this(new Microsoft.Graph.Authentication.AzureIdentityAuthenticationProvider(tokenCredential, null, null, true, scopes?.ToArray() ?? []), baseUrl)
5352
{
5453
}
5554

@@ -65,7 +64,7 @@ public GraphServiceClient(
6564
TokenCredential tokenCredential,
6665
IEnumerable<string> scopes = null,
6766
string baseUrl = null
68-
):this(httpClient, new Microsoft.Graph.Authentication.AzureIdentityAuthenticationProvider(tokenCredential, null, null, scopes?.ToArray() ?? Array.Empty<string>()), baseUrl)
67+
):this(httpClient, new Microsoft.Graph.Authentication.AzureIdentityAuthenticationProvider(tokenCredential, null, null, true, scopes?.ToArray() ?? []), baseUrl)
6968
{
7069
}
7170

tests/Microsoft.Graph.DotnetCore.Test/Models/ModelSerializationTests.cs

Lines changed: 32 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -8,22 +8,24 @@ namespace Microsoft.Graph.DotnetCore.Test.Models
88
using Xunit;
99
using Microsoft.Graph.Beta.Models;
1010
using Microsoft.Kiota.Abstractions;
11+
using Microsoft.Kiota.Abstractions.Serialization;
1112
using Microsoft.Kiota.Serialization.Json;
13+
using System.Threading;
14+
using System.Threading.Tasks;
1215
using System.Collections.Generic;
1316
using System.IO;
1417
using System.Text;
1518

1619
public class ModelSerializationTests
1720
{
18-
private readonly JsonParseNodeFactory parseNodeFactory;
19-
2021
public ModelSerializationTests()
2122
{
22-
this.parseNodeFactory = new JsonParseNodeFactory();
23+
SerializationWriterFactoryRegistry.DefaultInstance.ContentTypeAssociatedFactories["application/json"] = new JsonSerializationWriterFactory();
24+
ParseNodeFactoryRegistry.DefaultInstance.ContentTypeAssociatedFactories["application/json"] = new JsonParseNodeFactory();
2325
}
2426

2527
[Fact]
26-
public void DeserializeDerivedType()
28+
public async Task DeserializeDerivedType()
2729
{
2830
var userId = "userId";
2931
var givenName = "name";
@@ -33,9 +35,7 @@ public void DeserializeDerivedType()
3335
userId,
3436
givenName);
3537

36-
var memoryStream = new MemoryStream(Encoding.UTF8.GetBytes(stringToDeserialize));
37-
var parseNode = this.parseNodeFactory.GetRootParseNode(CoreConstants.MimeTypeNames.Application.Json, memoryStream);
38-
var user = parseNode.GetObjectValue<User>(User.CreateFromDiscriminatorValue);
38+
var user = await KiotaJsonSerializer.DeserializeAsync<User>(stringToDeserialize);
3939

4040
Assert.NotNull(user);
4141
Assert.Equal(userId, user.Id);
@@ -44,7 +44,7 @@ public void DeserializeDerivedType()
4444
}
4545

4646
[Fact]
47-
public void DeserializeInvalidODataType()
47+
public async Task DeserializeInvalidODataType()
4848
{
4949
var directoryObjectId = "directoryObjectId";
5050
var givenName = "name";
@@ -54,18 +54,16 @@ public void DeserializeInvalidODataType()
5454
directoryObjectId,
5555
givenName);
5656

57-
var memoryStream = new MemoryStream(Encoding.UTF8.GetBytes(stringToDeserialize));
58-
var parseNode = this.parseNodeFactory.GetRootParseNode(CoreConstants.MimeTypeNames.Application.Json, memoryStream);
59-
var directoryObject = parseNode.GetObjectValue<DirectoryObject>(DirectoryObject.CreateFromDiscriminatorValue);
57+
var directoryObject = await KiotaJsonSerializer.DeserializeAsync<DirectoryObject>(stringToDeserialize);
6058

6159
Assert.NotNull(directoryObject);
6260
Assert.Equal(directoryObjectId, directoryObject.Id);
6361
Assert.NotNull(directoryObject.AdditionalData);
6462
Assert.Equal(givenName, directoryObject.AdditionalData["givenName"].ToString());
6563
}
6664

67-
[Fact(Skip = "TODO fix pending enum handling bug")]
68-
public void DeserializeUnknownEnumValue()
65+
[Fact]
66+
public async Task DeserializeUnknownEnumValue()
6967
{
7068
var enumValue = "newValue";
7169
var bodyContent = "bodyContent";
@@ -75,35 +73,30 @@ public void DeserializeUnknownEnumValue()
7573
bodyContent,
7674
enumValue);
7775

78-
var memoryStream = new MemoryStream(Encoding.UTF8.GetBytes(stringToDeserialize));
79-
var parseNode = this.parseNodeFactory.GetRootParseNode(CoreConstants.MimeTypeNames.Application.Json, memoryStream);
80-
var itemBody = parseNode.GetObjectValue<ItemBody>(ItemBody.CreateFromDiscriminatorValue);
76+
var itemBody = await KiotaJsonSerializer.DeserializeAsync<ItemBody>(stringToDeserialize);
8177

8278
Assert.NotNull(itemBody);
8379
Assert.Equal(bodyContent, itemBody.Content);
8480
Assert.Null(itemBody.ContentType);
8581
Assert.NotNull(itemBody.AdditionalData);
86-
Assert.Equal(enumValue, itemBody.AdditionalData["contentType"].ToString());
8782
}
8883

8984
[Fact]
90-
public void DeserializeDateValue()
85+
public async Task DeserializeDateValue()
9186
{
9287
var now = DateTimeOffset.UtcNow;
9388

9489
var stringToDeserialize = string.Format("{{\"startDate\":\"{0}\"}}", now.ToString("yyyy-MM-dd"));
9590

96-
var memoryStream = new MemoryStream(Encoding.UTF8.GetBytes(stringToDeserialize));
97-
var parseNode = this.parseNodeFactory.GetRootParseNode(CoreConstants.MimeTypeNames.Application.Json, memoryStream);
98-
var recurrenceRange = parseNode.GetObjectValue<RecurrenceRange>(RecurrenceRange.CreateFromDiscriminatorValue);
91+
var recurrenceRange = await KiotaJsonSerializer.DeserializeAsync<RecurrenceRange>(stringToDeserialize);
9992

10093
Assert.Equal(now.Year, recurrenceRange.StartDate.Value.Year);
10194
Assert.Equal(now.Month, recurrenceRange.StartDate.Value.Month);
10295
Assert.Equal(now.Day, recurrenceRange.StartDate.Value.Day);
10396
}
10497

10598
[Fact]
106-
public void NewAbstractEntityDerivedClassInstance()
99+
public async Task NewAbstractEntityDerivedClassInstance()
107100
{
108101
var entityId = "entityId";
109102
var additionalKey = "key";
@@ -115,18 +108,16 @@ public void NewAbstractEntityDerivedClassInstance()
115108
additionalKey,
116109
additionalValue);
117110

118-
var memoryStream = new MemoryStream(Encoding.UTF8.GetBytes(stringToDeserialize));
119-
var parseNode = this.parseNodeFactory.GetRootParseNode(CoreConstants.MimeTypeNames.Application.Json, memoryStream);
120-
var entity = parseNode.GetObjectValue<Entity>(Entity.CreateFromDiscriminatorValue);
111+
var entity = await KiotaJsonSerializer.DeserializeAsync<Entity>(stringToDeserialize);
121112

122113
Assert.NotNull(entity);
123114
Assert.Equal(entityId, entity.Id);
124115
Assert.NotNull(entity.AdditionalData);
125116
Assert.Equal(additionalValue, entity.AdditionalData[additionalKey].ToString());
126117
}
127118

128-
[Fact(Skip = "TODO fix pending enum handling bug")]
129-
public void SerializeAndDeserializeKnownEnumValue()
119+
[Fact]
120+
public async Task SerializeAndDeserializeKnownEnumValue()
130121
{
131122
var itemBody = new ItemBody
132123
{
@@ -141,27 +132,22 @@ public void SerializeAndDeserializeKnownEnumValue()
141132
"text");
142133

143134
// Serialize
144-
using var jsonSerializerWriter = new JsonSerializationWriter();
145-
jsonSerializerWriter.WriteObjectValue(string.Empty, itemBody);
146-
var serializedStream = jsonSerializerWriter.GetSerializedContent();
135+
var serializedString = await KiotaJsonSerializer.SerializeAsStringAsync(itemBody, CancellationToken.None);
147136

148137
//Assert
149-
var streamReader = new StreamReader(serializedStream);
150-
Assert.Equal(expectedSerializedStream, streamReader.ReadToEnd());
138+
Assert.Equal(expectedSerializedStream, serializedString);
151139

152140
// De serialize
153-
serializedStream.Position = 0; //reset the stream to be read again
154-
var parseNode = this.parseNodeFactory.GetRootParseNode(CoreConstants.MimeTypeNames.Application.Json, serializedStream);
155-
var newItemBody = parseNode.GetObjectValue<ItemBody>(ItemBody.CreateFromDiscriminatorValue);
141+
var newItemBody = await KiotaJsonSerializer.DeserializeAsync<ItemBody>(serializedString);
156142

157143
Assert.NotNull(newItemBody);
158144
Assert.Equal(itemBody.Content, itemBody.Content);
159145
Assert.Equal(BodyType.Text, itemBody.ContentType);
160-
Assert.Null(itemBody.AdditionalData);
146+
Assert.NotNull(itemBody.AdditionalData);
161147
}
162148

163149
[Fact]
164-
public void SerializeDateValue()
150+
public async Task SerializeDateValue()
165151
{
166152
var now = DateTimeOffset.UtcNow;
167153

@@ -172,16 +158,13 @@ public void SerializeDateValue()
172158
StartDate = new Date(now.Year, now.Month, now.Day),
173159
};
174160

175-
using var jsonSerializerWriter = new JsonSerializationWriter();
176-
jsonSerializerWriter.WriteObjectValue(string.Empty, recurrence);
177-
var serializedStream = jsonSerializerWriter.GetSerializedContent();
161+
var serializedString = await KiotaJsonSerializer.SerializeAsStringAsync(recurrence, CancellationToken.None);
178162

179163
// Assert
180-
var streamReader = new StreamReader(serializedStream);
181-
Assert.Equal(expectedSerializedString, streamReader.ReadToEnd());
164+
Assert.Equal(expectedSerializedString, serializedString);
182165
}
183166
[Fact]
184-
public void TestEtagHelper()
167+
public async Task TestEtagHelper()
185168
{
186169
var userId = "userId";
187170
var testEtag = "testEtag";
@@ -191,16 +174,14 @@ public void TestEtagHelper()
191174
userId,
192175
testEtag);
193176

194-
var memoryStream = new MemoryStream(Encoding.UTF8.GetBytes(stringToDeserialize));
195-
var parseNode = this.parseNodeFactory.GetRootParseNode(CoreConstants.MimeTypeNames.Application.Json, memoryStream);
196-
var user = parseNode.GetObjectValue<Entity>(Entity.CreateFromDiscriminatorValue);
177+
var user = await KiotaJsonSerializer.DeserializeAsync<Entity>(stringToDeserialize);
197178

198179
Assert.NotNull(user);
199180
Assert.Equal(userId, user.Id);
200181
//Assert.Equal(testEtag, user.GetEtag());
201182
}
202183
[Fact]
203-
public void TestPlannerAssigmentSerialization()
184+
public async Task TestPlannerAssigmentSerialization()
204185
{
205186
var planTask = new PlannerTask
206187
{
@@ -217,16 +198,13 @@ public void TestPlannerAssigmentSerialization()
217198
};
218199

219200
string expectedSerializedString = "{\"assignments\":{\"USER_ID\":{\"@odata.type\":\"#microsoft.graph.plannerAssignment\",\"orderHint\":\"!\"}},\"bucketId\":\"BUCKET_ID\",\"planId\":\"PLAN_ID\",\"title\":\"My Planner Task\"}";
220-
using var jsonSerializerWriter = new JsonSerializationWriter();
221-
jsonSerializerWriter.WriteObjectValue(string.Empty, planTask);
222-
var serializedStream = jsonSerializerWriter.GetSerializedContent();
223201

224202
// Assert
225-
var streamReader = new StreamReader(serializedStream);
226-
Assert.Equal(expectedSerializedString, streamReader.ReadToEnd());
203+
var serializedString = await KiotaJsonSerializer.SerializeAsStringAsync(planTask, CancellationToken.None);
204+
Assert.Equal(expectedSerializedString, serializedString);
227205
}
228206
[Fact]
229-
public void TestChangeNoticationCollectionDeserialization()
207+
public async Task TestChangeNoticationCollectionDeserialization()
230208
{
231209
var json = @"{
232210
""value"": [
@@ -251,9 +229,7 @@ public void TestChangeNoticationCollectionDeserialization()
251229
]
252230
}";
253231

254-
using var memStream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(json));
255-
var parseNode = new JsonParseNodeFactory().GetRootParseNode("application/json", memStream);
256-
var changeNotifications = parseNode.GetObjectValue(ChangeNotificationCollection.CreateFromDiscriminatorValue);
232+
var changeNotifications = await KiotaJsonSerializer.DeserializeAsync<ChangeNotificationCollection>(json, CancellationToken.None);
257233

258234
Assert.NotNull(changeNotifications.Value);
259235
Assert.Single(changeNotifications.Value);

tests/Microsoft.Graph.DotnetCore.Test/Requests/Functional/OneNoteTests.cs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@ namespace Microsoft.Graph.DotnetCore.Test.Requests.Functional
33
{
44
using Microsoft.Graph.Beta.Models;
55
using Microsoft.Kiota.Abstractions;
6+
using Microsoft.Kiota.Abstractions.Serialization;
67
using Microsoft.Kiota.Serialization.Json;
78
using System;
89
using System.IO;
910
using System.Net.Http;
1011
using System.Text;
12+
using System.Threading;
1113
using System.Threading.Tasks;
1214
using Xunit;
1315
using System.Collections.Generic;
@@ -357,9 +359,7 @@ public async Task OneNoteAddPageHtmlWorkaround()
357359
{
358360
// Deserialize into OneNotePage object.
359361
var content = await response.Content.ReadAsStreamAsync();
360-
var parseNodeFactory = new JsonParseNodeFactory();
361-
var parseNode = parseNodeFactory.GetRootParseNode(CoreConstants.MimeTypeNames.Application.Json, content);
362-
testPage = parseNode.GetObjectValue<OnenotePage>(OnenotePage.CreateFromDiscriminatorValue);
362+
testPage = await KiotaJsonSerializer.DeserializeAsync<OnenotePage>(content, CancellationToken.None);
363363

364364
Assert.NotNull(testPage);
365365
Assert.Contains(testPage.Title, title);
@@ -413,9 +413,7 @@ public async Task OneNoteAddPageHtmlWithStreamWorkaround()
413413
// Deserialize into OneNotePage object.
414414
// Send the request and get the response.
415415
var content = await graphClient.RequestAdapter.SendPrimitiveAsync<Stream>(requestInformation);
416-
var parseNodeFactory = new JsonParseNodeFactory();
417-
var parseNode = parseNodeFactory.GetRootParseNode(CoreConstants.MimeTypeNames.Application.Json, content);
418-
testPage = parseNode.GetObjectValue<OnenotePage>(OnenotePage.CreateFromDiscriminatorValue);
416+
testPage = await KiotaJsonSerializer.DeserializeAsync<OnenotePage>(content, CancellationToken.None);
419417

420418
Assert.NotNull(testPage);
421419
Assert.Contains(testPage.Title, title);

0 commit comments

Comments
 (0)