コード例 #1
0
 public void Throws_ArgumentException_Invaild_Region_Locale()
 {
     Assert.Throws <ArgumentException>(() =>
     {
         IWarcraftClient client = new WarcraftClient("clientIdHere", "clientSecretHere", Region.Korea, Locale.fr_FR);
     });
 }
コード例 #2
0
        public async void GetAuctionAsync_Gets_Auction()
        {
            var mockHttp = new MockHttpMessageHandler();

            mockHttp
            .When("https://us.battle.net/oauth/token")
            .Respond(
                mediaType: "application/json",
                content: @"{""access_token"": ""ACCESS-TOKEN"", ""token_type"": ""bearer"", ""expires_in"": 86399, ""scope"": ""example.scope""}");

            mockHttp
            .When("https://us.api.blizzard.com/wow/auction/data/Norgannon?locale=en_US")
            .Respond(mediaType: "application/json", content: Resources.AuctionResponse);

            mockHttp
            .When("http://auction-api-us.worldofwarcraft.com/auction-data/0e62f05d062fb14352ada3736db60fe5/auctions.json")
            .Respond(mediaType: "application/json", content: Resources.AuctionDataFileResponse);

            IWarcraftClient warcraftClient = new WarcraftClient(
                clientId: "clientIdHere",
                clientSecret: "clientSecretHere",
                region: Region.US,
                locale: Locale.en_US,
                client: mockHttp.ToHttpClient());

            RequestResult <AuctionFiles> result = await warcraftClient.GetAuctionAsync("Norgannon");

            Assert.NotNull(result.Value.Files);

            RequestResult <AuctionHouseSnapshot> resultSnapshot = await warcraftClient.GetAuctionHouseSnapshotAsync(result.Value.Files.First().Url);

            Assert.NotNull(resultSnapshot.Value);
        }
コード例 #3
0
 public Task Initialize()
 {
     warcraftClient = new WarcraftClient(clientID, clientSecret, Region.Europe, Locale.en_GB);
     if (warcraftClient == null)
     {
         Program.LogConsole("WOW SERVICE", ConsoleColor.Red, "WowClient NOT Found");
     }
     return(Task.CompletedTask);
 }
コード例 #4
0
    public void Then_WarcraftClient_Does_Not_Use_InternalHttpClient()
    {
        _services.AddWarcraftClients("fake-client-id", "fake-client-secret");

        IServiceProvider serviceProvider = _services.BuildServiceProvider();

        WarcraftClient warcraftClient = serviceProvider.GetRequiredService <WarcraftClient>();

        Assert.NotSame(InternalHttpClient.Instance, warcraftClient.Client);
    }
コード例 #5
0
    public void Then_WarcraftClient_Is_Created_With_US_Region_And_en_US_Locale()
    {
        _services.AddWarcraftClients("fake-client-id", "fake-client-secret");

        IServiceProvider serviceProvider = _services.BuildServiceProvider();

        WarcraftClient warcraftClient = serviceProvider.GetRequiredService <WarcraftClient>();

        Assert.Equal(Locale.en_US, warcraftClient.Locale);
        Assert.Equal(Region.US, warcraftClient.Region);
    }
コード例 #6
0
    public void Then_WarcraftClient_Is_Configured_To_Accept_Json_Content()
    {
        _services.AddWarcraftClients("fake-client-id", "fake-client-secret");

        IServiceProvider serviceProvider = _services.BuildServiceProvider();

        WarcraftClient warcraftClient     = serviceProvider.GetRequiredService <WarcraftClient>();
        bool           acceptsJsonContent =
            warcraftClient.Client.DefaultRequestHeaders.Accept.Contains(
                new MediaTypeWithQualityHeaderValue("application/json"));

        Assert.True(acceptsJsonContent);
    }
コード例 #7
0
    public void Then_WarcraftClient_Is_Created_Provided_Client_Credentials()
    {
        const string expectedClientId     = "the client Id";
        const string expectedClientSecret = "the client secret";

        _services.AddWarcraftClients(expectedClientId, expectedClientSecret);

        IServiceProvider serviceProvider = _services.BuildServiceProvider();

        WarcraftClient warcraftClient = serviceProvider.GetRequiredService <WarcraftClient>();

        Assert.Equal(expectedClientId, warcraftClient.ClientId);
        Assert.Equal(expectedClientSecret, warcraftClient.ClientSecret);
    }
コード例 #8
0
        public BattleNetService(DatabaseContext context, IConfiguration config)

        {
            this.context       = context;
            clientId           = config["BattleNet:ClientId"];
            clientSecret       = config["BattleNet:ClientSecret"];
            WarCraftLogsApiKey = config["WarcraftLogs:ApiKey"];
            guildName          = config["Wow:GuildName"];
            guildSlug          = guildName.ToLower().Replace(" ", "-");
            guildFaction       = Utils.UppercaseFirst(config["Wow:GuildFaction"].ToLower());
            realmId            = int.Parse(config["Wow:RealmId"]);
            realmName          = config["Wow:RealmName"];
            region             = config["Wow:Region"];
            nameSpace          = $"profile-{region.ToLower()}";
            nameSpaceStatic    = $"static-{region.ToLower()}";

            warcraftClient = new WarcraftClient(clientId, clientSecret, Region.Europe, Locale.en_GB);
        }
コード例 #9
0
    public void Then_WarcraftClient_Is_Created_With_Provided_Client_Credentials_And_Region_And_Locale(
        ValidLocaleAndRegionPair localeAndRegion)
    {
        const string expectedClientId     = "the client Id";
        const string expectedClientSecret = "the client secret";

        _services.AddWarcraftClients(expectedClientId, expectedClientSecret, localeAndRegion.Region,
                                     localeAndRegion.Locale);

        IServiceProvider serviceProvider = _services.BuildServiceProvider();

        WarcraftClient warcraftClient = serviceProvider.GetRequiredService <WarcraftClient>();

        Assert.Equal(expectedClientId, warcraftClient.ClientId);
        Assert.Equal(expectedClientSecret, warcraftClient.ClientSecret);
        Assert.Equal(localeAndRegion.Region, warcraftClient.Region);
        Assert.Equal(localeAndRegion.Locale, warcraftClient.Locale);
    }
コード例 #10
0
 public ClassToTest(WarcraftClient client)
 {
     _client = client;
 }
コード例 #11
0
 public WowApiBase(string clientId, string clientSecret)
 {
     WarcraftClient = new WarcraftClient(clientId, clientSecret);
     Achievement    = new AchievementApi(this);
     Item           = new ItemApi(this);
 }