public async Task GetPlaylistRatings_DoesNotThrow(string guid, string gamertag) { var playlistId = new Guid(guid); var query = new GetPlaylistRatings(gamertag, playlistId) .SkipCache(); var result = await Global.Session.Query(query); Assert.IsInstanceOf(typeof(PlaylistSummaryResultSet), result); }
public async Task GetPlaylistRatings_InvalidPlaylist(string gamertag) { var playlistId = new Guid(); var query = new GetPlaylistRatings(gamertag, playlistId) .SkipCache(); await Global.Session.Query(query); Assert.Fail("An exception should have been thrown"); }
public async Task GetPlaylistRatings_IsSerializable(string guid, string gamertag) { var playlistId = new Guid(guid); var query = new GetPlaylistRatings(gamertag, playlistId) .SkipCache(); var result = await Global.Session.Query(query); SerializationUtility <PlaylistSummaryResultSet> .AssertRoundTripSerializationIsPossible(result); }
public async Task GetPlaylistRatings_SchemaIsValid(string guid, string gamertag) { var jSchema = JSchema.Parse(File.ReadAllText(Schema), new JSchemaReaderSettings { Resolver = new JSchemaUrlResolver(), BaseUri = new Uri(Path.GetFullPath(Schema)) }); var playlistId = new Guid(guid); var query = new GetPlaylistRatings(gamertag, playlistId) .SkipCache(); var jArray = await Global.Session.Get <JObject>(query.Uri); SchemaUtility.AssertSchemaIsValid(jSchema, jArray); }
public async Task GetPlaylistRatings_ModelMatchesSchema(string guid, string gamertag) { var schema = JSchema.Parse(File.ReadAllText(Schema), new JSchemaReaderSettings { Resolver = new JSchemaUrlResolver(), BaseUri = new Uri(Path.GetFullPath(Schema)) }); var playlistId = new Guid(guid); var query = new GetPlaylistRatings(gamertag, playlistId) .SkipCache(); var result = await Global.Session.Query(query); var json = JsonConvert.SerializeObject(result); var jContainer = JsonConvert.DeserializeObject <JObject>(json); SchemaUtility.AssertSchemaIsValid(schema, jContainer); }
public void Uri_MatchesExpected(string player, string guid) { var query = new GetPlaylistRatings(player, new Guid(guid)); Assert.AreEqual($"https://www.haloapi.com/stats/hw2/playlist/{guid}/rating?players={player}", query.Uri); }