示例#1
0
        public void GetIdentifiableLanguages_Success()
        {
            IClient client = this.CreateClient();

            IRequest request = Substitute.For <IRequest>();

            client.GetAsync(Arg.Any <string>())
            .Returns(request);

            IdentifiableLanguages response = new IdentifiableLanguages()
            {
                Languages = new List <IdentifiableLanguage>()
                {
                    new IdentifiableLanguage()
                    {
                        Language = "language",
                        Name     = "name"
                    }
                }
            };

            request.As <IdentifiableLanguages>()
            .Returns(Task.FromResult(response));

            LanguageTranslatorService service =
                new LanguageTranslatorService(client);

            var identifiableLanguages = service.ListIdentifiableLanguages();

            Assert.IsNotNull(identifiableLanguages);
            client.Received().GetAsync(Arg.Any <string>());
            Assert.IsTrue(identifiableLanguages.Languages.Count == 1);
            Assert.IsTrue(identifiableLanguages.Languages.First().Name.Equals("name"));
        }
示例#2
0
        /// <summary>
        /// List identifiable languages. Lists the languages that the service can identify. Returns the language code (for example, `en` for English or `es` for Spanish) and name of each language.
        /// </summary>
        /// <param name="customData">Custom data object to pass data including custom request headers.</param>
        /// <returns><see cref="IdentifiableLanguages" />IdentifiableLanguages</returns>
        public IdentifiableLanguages ListIdentifiableLanguages(Dictionary <string, object> customData = null)
        {
            IdentifiableLanguages result = null;

            try
            {
                IClient client;
                if (_tokenManager == null)
                {
                    client = this.Client.WithAuthentication(this.UserName, this.Password);
                }
                else
                {
                    client = this.Client.WithAuthentication(_tokenManager.GetToken());
                }
                var restRequest = client.GetAsync($"{this.Endpoint}/v2/identifiable_languages");

                if (customData != null)
                {
                    restRequest.WithCustomData(customData);
                }
                result = restRequest.As <IdentifiableLanguages>().Result;
                if (result == null)
                {
                    result = new IdentifiableLanguages();
                }
                result.CustomData = restRequest.CustomData;
            }
            catch (AggregateException ae)
            {
                throw ae.Flatten();
            }

            return(result);
        }
        public IEnumerator TestListIdentifiableLanguages()
        {
            conn = Substitute.For <RESTConnector>();
            service.Connector = conn;

            var identifiableLanguagesResponse = new DetailedResponse <IdentifiableLanguages>
            {
                Result = new IdentifiableLanguages()
                {
                    Languages = new List <IdentifiableLanguage>()
                    {
                        new IdentifiableLanguage()
                        {
                            Language = "en"
                        }
                    }
                }
            };

            conn.Send(
                Arg.Do <RESTConnector.Request>(
                    req => {
                if (((RequestObject <IdentifiableLanguages>)req).Callback != null)
                {
                    Assert.IsTrue(conn.URL == "https://gateway.watsonplatform.net/language-translator/api/v3/identifiable_languages");
                    ((RequestObject <IdentifiableLanguages>)req).Callback(identifiableLanguagesResponse, null);
                }
            }
                    ));

            IdentifiableLanguages listIdentifiableLanguagesResponse = null;

            service.ListIdentifiableLanguages(
                callback: (DetailedResponse <IdentifiableLanguages> response, IBMError error) =>
            {
                Log.Debug("LanguageTranslatorServiceV3UnitTests", "ListIdentifiableLanguages result: {0}", response.Response);
                listIdentifiableLanguagesResponse = response.Result;
                Assert.IsNotNull(listIdentifiableLanguagesResponse);
                Assert.IsNotNull(listIdentifiableLanguagesResponse.Languages);
                Assert.IsTrue(listIdentifiableLanguagesResponse.Languages.Count > 0);
                Assert.IsNull(error);
            }
                );

            while (listIdentifiableLanguagesResponse == null)
            {
                yield return(null);
            }
        }
示例#4
0
        public List <SelectListItem> GetLanguages()
        {
            List <SelectListItem> returnItems = new List <SelectListItem>();
            //LanguageTranslatorService _languageTranslator = GetConnectionObject();

            IdentifiableLanguages _IdentifiableLanguages = _languageTranslator.GetIdentifiableLanguages();

            foreach (IdentifiableLanguage result in _IdentifiableLanguages.Languages)
            {
                returnItems.Add(new SelectListItem {
                    Value = result.Language, Text = result.Name
                });
            }

            return(returnItems);
        }
示例#5
0
        /// <summary>
        /// List identifiable languages. Lists the languages that the service can identify. Returns the language code (for example, `en` for English or `es` for Spanish) and name of each language.
        /// </summary>
        /// <returns><see cref="IdentifiableLanguages" />IdentifiableLanguages</returns>
        public IdentifiableLanguages ListIdentifiableLanguages()
        {
            IdentifiableLanguages result = null;

            try
            {
                var request = this.Client.WithAuthentication(this.UserName, this.Password)
                              .GetAsync($"{this.Endpoint}/v2/identifiable_languages");
                result = request.As <IdentifiableLanguages>().Result;
            }
            catch (AggregateException ae)
            {
                throw ae.Flatten();
            }

            return(result);
        }
        /// <summary>
        /// List identifiable languages.
        ///
        /// Lists the languages that the service can identify. Returns the language code (for example, `en` for English
        /// or `es` for Spanish) and name of each language.
        /// </summary>
        /// <param name="customData">Custom data object to pass data including custom request headers.</param>
        /// <returns><see cref="IdentifiableLanguages" />IdentifiableLanguages</returns>
        public IdentifiableLanguages ListIdentifiableLanguages(Dictionary <string, object> customData = null)
        {
            if (string.IsNullOrEmpty(VersionDate))
            {
                throw new ArgumentNullException("versionDate cannot be null.");
            }

            IdentifiableLanguages result = null;

            try
            {
                IClient client = this.Client;
                if (_tokenManager != null)
                {
                    client = this.Client.WithAuthentication(_tokenManager.GetToken());
                }
                if (_tokenManager == null)
                {
                    client = this.Client.WithAuthentication(this.UserName, this.Password);
                }

                var restRequest = client.GetAsync($"{this.Endpoint}/v3/identifiable_languages");

                restRequest.WithArgument("version", VersionDate);
                if (customData != null)
                {
                    restRequest.WithCustomData(customData);
                }

                restRequest.WithHeader("X-IBMCloud-SDK-Analytics", "service_name=language_translator;service_version=v3;operation_id=ListIdentifiableLanguages");
                result = restRequest.As <IdentifiableLanguages>().Result;
                if (result == null)
                {
                    result = new IdentifiableLanguages();
                }
                result.CustomData = restRequest.CustomData;
            }
            catch (AggregateException ae)
            {
                throw ae.Flatten();
            }

            return(result);
        }
示例#7
0
        public IdentifiableLanguages GetIdentifiableLanguages()
        {
            IdentifiableLanguages result = null;

            try
            {
                result =
                    this.Client.WithAuthentication(this.UserName, this.Password)
                    .GetAsync($"{this.Endpoint}{PATH_IDENTIFIABLE_LANGUAGES}")
                    .As <IdentifiableLanguages>()
                    .Result;
            }
            catch (AggregateException ae)
            {
                throw ae.Flatten();
            }

            return(result);
        }
        public IEnumerator TestListIdentifiableLanguages()
        {
            Log.Debug("LanguageTranslatorServiceV3IntegrationTests", "Attempting to ListIdentifiableLanguages...");
            IdentifiableLanguages listIdentifiableLanguagesResponse = null;

            service.ListIdentifiableLanguages(
                callback: (DetailedResponse <IdentifiableLanguages> response, IBMError error) =>
            {
                Log.Debug("LanguageTranslatorServiceV3IntegrationTests", "ListIdentifiableLanguages result: {0}", response.Response);
                listIdentifiableLanguagesResponse = response.Result;
                Assert.IsNotNull(listIdentifiableLanguagesResponse);
                Assert.IsNotNull(listIdentifiableLanguagesResponse.Languages);
                Assert.IsTrue(listIdentifiableLanguagesResponse.Languages.Count > 0);
                Assert.IsNull(error);
            }
                );

            while (listIdentifiableLanguagesResponse == null)
            {
                yield return(null);
            }
        }