public void MTEdgeApi_GetBasicAuthToken_GetsToken()
 {
     try
     {
         var token = SDLMTEdgeTranslatorHelper.GetAuthToken(basicAuthTranslationOptions, userCredentials);
         if (token == null)
         {
             Assert.Fail("Expected token, but got null");
         }
     }
     catch (Exception ex)
     {
         Assert.Fail("Expected no exception, but got: " + ex.Message);
     }
 }
        public void MtEdgeApi_VerifyAPIKey_NoExceptionThrown()
        {
            var credentials = new GenericCredentials(null, null);

            credentials["API-Key"]   = apiKeyTranslationOptions.ApiToken;
            credentials["UseApiKey"] = "true";
            try
            {
                SDLMTEdgeTranslatorHelper.VerifyBasicAPIToken(apiKeyTranslationOptions, credentials);
            }
            catch (Exception ex)
            {
                Assert.Fail("Expected no exception, but got: " + ex.Message);
            }
        }
예제 #3
0
        public void MTEdgeApi_FetchTranslation_InvalidTranslation()
        {
            var file = new File
            {
                SourceCulture = engFraLP.SourceCulture,
                TargetCulture = engFraLP.TargetCulture
            };

            var xliffDocument = new Xliff
            {
                File = file
            };

            xliffDocument.AddSourceText(UTStringResource.BasicText);
            SDLMTEdgeTranslatorHelper.GetTranslation(apiKeyTranslationOptions, engInvLP, xliffDocument);
        }
        /// <summary>
        /// Creates a translated segment by calling upon the MTEdge API (via helper methods)
        /// </summary>
        /// <param name="sourceSegment"></param>
        /// <returns></returns>
        private Segment[] TranslateSegments(Segment[] sourceSegments)
        {
            var xliffDocument = CreateXliffFile(sourceSegments);

            var translatedXliffText = SDLMTEdgeTranslatorHelper.GetTranslation(
                provider.Options,
                languageDirection,
                xliffDocument);

            var translatedXliff = Converter.ParseXliffString(translatedXliffText);

            if (translatedXliff != null)
            {
                return(translatedXliff.GetTargetSegments());
            }
            return(new Segment[sourceSegments.Length]);
        }
예제 #5
0
        public void MTEdgeApi_FetchLPs_AtLeastFraEngReturned()
        {
            var lps = SDLMTEdgeTranslatorHelper.GetLanguagePairs(apiKeyTranslationOptions);

            if (!lps.Any())
            {
                Assert.Fail("Expected at least one LP returned");
            }

            // I realize not every MTEdge server will have german, but for sake of further tests, the host we choose to test with should.
            // Otherwise we'd have to code up an entire mock for the MTEdge API.
            if (!lps.Any(lp =>
                         lp.SourceLanguageId.Equals("eng", StringComparison.OrdinalIgnoreCase) &&
                         lp.TargetLanguageId.Equals("fra", StringComparison.OrdinalIgnoreCase)
                         ))
            {
                Assert.Fail("Expected EngFra as one of the LPs");
            }
        }
예제 #6
0
        public void MTEdgeApi_FetchTranslationEmoji_ValidTranslation()
        {
            var file = new File
            {
                SourceCulture = engFraLP.SourceCulture,
                TargetCulture = engFraLP.TargetCulture
            };

            var xliffDocument = new Xliff
            {
                File = file
            };

            xliffDocument.AddSourceText(UTStringResource.BasicEmojiTest);
            xliffDocument.Version = "v1.0";
            var translatedXliffText = SDLMTEdgeTranslatorHelper.GetTranslation(apiKeyTranslationOptions, engFraLP, xliffDocument);
            var translatedXliff     = Converter.ParseXliffString(translatedXliffText);

            Assert.IsTrue(translatedXliff.GetTargetSegments().Any());
            Assert.AreEqual(UTStringResource.BasicEmojiTranslation, translatedXliff.GetTargetSegments()[0].ToString());
        }
        public void MTEdgeApi_FetchTranslationNoTags_ValidTranslation()
        {
            var xliffDocument = new Xliff(engFraLP.SourceCulture, engFraLP.TargetCulture);

            xliffDocument.AddSourceText(UTStringResource.BasicText);

            var translatedXliffText = SDLMTEdgeTranslatorHelper.GetTranslation(apiKeyTranslationOptions, engFraLP, xliffDocument);
            var translatedXliff     = Toolkit.LanguagePlatform.XliffConverter.Converter.ParseXliffString(translatedXliffText);

            Assert.IsTrue(translatedXliff.GetTargetSegments().Any());
            Assert.AreEqual(UTStringResource.BasicTranslation, translatedXliff.GetTargetSegments()[0].ToString());

            var token = SDLMTEdgeTranslatorHelper.GetAuthToken(basicAuthTranslationOptions, userCredentials);

            basicAuthTranslationOptions.ApiToken = token;

            translatedXliffText = SDLMTEdgeTranslatorHelper.GetTranslation(basicAuthTranslationOptions, engFraLP, xliffDocument);
            translatedXliff     = Toolkit.LanguagePlatform.XliffConverter.Converter.ParseXliffString(translatedXliffText);

            Assert.IsTrue(translatedXliff.GetTargetSegments().Any());
            Assert.AreEqual(UTStringResource.BasicTranslation, translatedXliff.GetTargetSegments()[0].ToString());
        }
예제 #8
0
 /// <summary>
 /// Tests that we set the API version correctly depending on the host's api version
 /// </summary>
 public void MTEdgeApi_SetMtEdgeApiVersion_v8()
 {
     apiKeyTranslationOptions.ApiVersion = APIVersion.Unknown;
     SDLMTEdgeTranslatorHelper.SetMtEdgeApiVersion(apiKeyTranslationOptions);
     Assert.AreEqual(APIVersion.v2, apiKeyTranslationOptions.ApiVersion);
 }