예제 #1
0
        public void CheckParametersAreValidated()
        {
            IApiUriBuilder builder = new ApiUriBuilder();

            // Check ApiMethod param...
            Assert.Throws(typeof(ArgumentOutOfRangeException), new TestDelegate(() => { builder.BuildUri(ApiMethod.Unknown, null, null, null, null, null); }));

            // Check API Key is required...
            Assert.Throws(typeof(ApiCredentialsRequiredException), new TestDelegate(() => { builder.BuildUri(ApiMethod.CountryLookup, null, null, null, null, null); }));
            Assert.Throws(typeof(ApiCredentialsRequiredException), new TestDelegate(() => { builder.BuildUri(ApiMethod.CountryLookup, AppId, null, null, null, null); }));

            // Check Country Code is required...
            Assert.Throws(typeof(CountryCodeRequiredException), new TestDelegate(() => { builder.BuildUri(ApiMethod.Search, AppId, AppCode, null, null, null); }));
        }
        public void CheckParametersAreValidated()
        {
            IApiUriBuilder builder = new ApiUriBuilder();

            // Check ApiMethod param...
            Assert.Throws(typeof(ArgumentNullException), new TestDelegate(() => { builder.BuildUri(null, null, null, null); }));

            // Check settings param...
            Assert.Throws(typeof(ArgumentNullException), new TestDelegate(() => { builder.BuildUri(new SearchCommand(), null, null, null); }));

            // Check API Key is required...
            Assert.Throws(typeof(ApiCredentialsRequiredException), new TestDelegate(() => { builder.BuildUri(new CountryResolver(AppId, AppCode), new MockMusicClientSettings(null, null, null), null, null); }));
            Assert.Throws(typeof(ApiCredentialsRequiredException), new TestDelegate(() => { builder.BuildUri(new CountryResolver(AppId, AppCode), new MockMusicClientSettings(AppId, null, null), null, null); }));

            // Check Country Code is required...
            Assert.Throws(typeof(CountryCodeRequiredException), new TestDelegate(() => { builder.BuildUri(new SearchCommand(), new MockMusicClientSettings(AppId, AppCode, null), null, null); }));
        }
예제 #3
0
 public void ValidateSimilarArtistUri()
 {
     Uri expected = new Uri(@"http://api.ent.nokia.com/1.x/gb/creators/348877/similar/?app_id=test&app_code=test&domain=music");
     Uri result = new ApiUriBuilder().BuildUri(ApiMethod.SimilarArtists, AppId, AppCode, Country, new Dictionary<string, string>() { { "id", "348877" } }, null);
     Assert.AreEqual(expected, result);
 }
예제 #4
0
 public void ValidateSearchUris()
 {
     Uri expected = new Uri(@"http://api.ent.nokia.com/1.x/gb/?app_id=test&app_code=test&domain=music&q=test");
     Uri result = new ApiUriBuilder().BuildUri(ApiMethod.Search, AppId, AppCode, Country, null, new Dictionary<string, string>() { { "q", "test" } });
     Assert.AreEqual(expected, result);
 }
예제 #5
0
 public void ValidateRecommendationsUri()
 {
     Uri expected = new Uri(@"http://api.ent.nokia.com/1.x/gb/recommendations/?app_id=test&app_code=test&domain=music&creator=Green%20Day&album=American%20Idiot&name=American%20Idiot&category=track");
     Uri result = new ApiUriBuilder().BuildUri(ApiMethod.Recommendations, AppId, AppCode, Country, null, new Dictionary<string, string>() { { "creator", "Green Day" }, { "album", "American Idiot" }, { "name", "American Idiot" }, { "category", "track" } });
     Assert.AreEqual(expected, result);
 }
예제 #6
0
 public void ValidateProductNewReleasesUri()
 {
     Uri expected = new Uri(@"http://api.ent.nokia.com/1.x/gb/products/new/album/?app_id=test&app_code=test&domain=music");
     Uri result = new ApiUriBuilder().BuildUri(ApiMethod.ProductNewReleases, AppId, AppCode, Country, new Dictionary<string, string>() { { "category", "album" } }, null);
     Assert.AreEqual(expected, result);
 }
예제 #7
0
 public void ValidateMixGroupsUris()
 {
     Uri expected = new Uri(@"http://api.ent.nokia.com/1.x/gb/mixes/groups/?app_id=test&app_code=test&domain=music");
     Uri result = new ApiUriBuilder().BuildUri(ApiMethod.MixGroups, AppId, AppCode, Country, null, null);
     Assert.AreEqual(expected, result);
 }
예제 #8
0
 public void ValidateDeviceCountryUris()
 {
     Uri expected = new Uri(@"http://api.ent.nokia.com/1.x/?app_id=test&app_code=test&domain=music");
     Uri result = new ApiUriBuilder().BuildUri(ApiMethod.CountryLookup, AppId, AppCode, null, null, null);
     Assert.AreEqual(expected, result);
 }
        public void ValidateSearchSuggestionsUris()
        {
            Uri expected = new Uri(@"http://api.ent.nokia.com/1.x/gb/suggestions/?app_id=test&app_code=test&domain=music&q=test");
            Uri result = new ApiUriBuilder().BuildUri(new SearchSuggestionsCommand(), new MockMusicClientSettings(AppId, AppCode, Country), null, new Dictionary<string, string>() { { "q", "test" } });
            Assert.AreEqual(expected, result);

            expected = new Uri(@"http://api.ent.nokia.com/1.x/gb/suggestions/creators/?app_id=test&app_code=test&domain=music&q=test");
            result = new ApiUriBuilder().BuildUri(new SearchSuggestionsCommand() { SuggestArtists = true }, new MockMusicClientSettings(AppId, AppCode, Country), null, new Dictionary<string, string>() { { "q", "test" } });
            Assert.AreEqual(expected, result);
        }
예제 #10
0
 public void ValidateProductChartUri()
 {
     Uri expected = new Uri(@"http://api.ent.nokia.com/1.x/gb/products/charts/album/?app_id=test&app_code=test&domain=music");
     Uri result = new ApiUriBuilder().BuildUri(new TopProductsCommand(), new MockMusicClientSettings(AppId, AppCode, Country), new Dictionary<string, string>() { { "category", "album" } }, null);
     Assert.AreEqual(expected, result);
 }
예제 #11
0
 public void ValidateOverriddenBaseUri()
 {
     Uri expected = new Uri(@"http://api.ent.nokia.com/2.0/gb/mixes/groups/test/?app_id=test&app_code=test&domain=music");
     Uri result = new ApiUriBuilder().BuildUri(new MixesCommand() { BaseApiUri = @"http://api.ent.nokia.com/2.0/" }, new MockMusicClientSettings(AppId, AppCode, Country), new Dictionary<string, string>() { { "id", "test" } }, null);
     Assert.AreEqual(expected, result);
 }
예제 #12
0
 public void ValidateMixGroupsUris()
 {
     Uri expected = new Uri(@"http://api.ent.nokia.com/1.x/gb/mixes/groups/?app_id=test&app_code=test&domain=music");
     Uri result = new ApiUriBuilder().BuildUri(new MixGroupsCommand(), new MockMusicClientSettings(AppId, AppCode, Country), null, null);
     Assert.AreEqual(expected, result);
 }
예제 #13
0
 public void ValidateDeviceCountryUris()
 {
     Uri expected = new Uri(@"http://api.ent.nokia.com/1.x/?app_id=test&app_code=test&domain=music");
     Uri result = new ApiUriBuilder().BuildUri(new CountryResolver(AppId, AppCode), new MockMusicClientSettings(AppId, AppCode, null), null, null);
     Assert.AreEqual(expected, result);
 }
예제 #14
0
 public void ValidateArtistProductsUri()
 {
     Uri expected = new Uri(@"http://api.ent.nokia.com/1.x/gb/creators/297011/products/?app_id=test&app_code=test&domain=music");
     Uri result = new ApiUriBuilder().BuildUri(new ArtistProductsCommand(), new MockMusicClientSettings(AppId, AppCode, Country), new Dictionary<string, string>() { { "id", "297011" } }, null);
     Assert.AreEqual(expected, result);
 }