in core/src/services/onedrive/graph_model.rs [148:227]
fn test_parse_one_drive_json() {
let data = r#"{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('user_id')/drive/root/children",
"@odata.count": 1,
"value": [
{
"createdDateTime": "2020-01-01T00:00:00Z",
"cTag": "cTag",
"eTag": "eTag",
"id": "id",
"lastModifiedDateTime": "2020-01-01T00:00:00Z",
"name": "name",
"size": 0,
"webUrl": "webUrl",
"reactions": {
"like": 0
},
"parentReference": {
"driveId": "driveId",
"driveType": "driveType",
"id": "id",
"path": "/drive/root:"
},
"fileSystemInfo": {
"createdDateTime": "2020-01-01T00:00:00Z",
"lastModifiedDateTime": "2020-01-01T00:00:00Z"
},
"folder": {
"childCount": 0
},
"specialFolder": {
"name": "name"
}
},
{
"createdDateTime": "2018-12-30T05:32:55.46Z",
"cTag": "sample",
"eTag": "sample",
"id": "ID!102",
"lastModifiedDateTime": "2018-12-30T05:33:23.557Z",
"name": "Getting started with OneDrive.pdf",
"size": 1025867,
"reactions": {
"commentCount": 0
},
"createdBy": {
"user": {
"displayName": "Foo bar",
"id": "ID"
}
},
"lastModifiedBy": {
"user": {
"displayName": "Foo bar",
"id": "32217fc1154aec3d"
}
},
"parentReference": {
"driveId": "32217fc1154aec3d",
"driveType": "personal",
"id": "32217FC1154AEC3D!101",
"path": "/drive/root:"
},
"file": {
"mimeType": "application/pdf",
},
"fileSystemInfo": {
"createdDateTime": "2018-12-30T05:32:55.46Z",
"lastModifiedDateTime": "2018-12-30T05:32:55.46Z"
}
}
]
}"#;
let response: GraphApiOnedriveListResponse = serde_json::from_str(data).unwrap();
assert_eq!(response.odata_count, 1);
assert_eq!(response.value.len(), 2);
let item = &response.value[0];
assert_eq!(item.name, "name");
}