-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Adding Cognitive Services Data Plane Vision+Language SDK #3604
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 8 commits
0fd88bf
975007a
6d5299c
fcc2b9c
97895d4
b14e4b9
3bd1247
ed0da9a
251006f
3d8b3d4
a3f68ec
0761253
5c220e3
cf8fee6
75427ce
f1b0d1f
9e41f33
349f35d
d394cc1
a3dc7e9
e9e182b
529c38d
58508d0
8ab7c50
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| using Microsoft.CognitiveServices.Language.TextAnalytics; | ||
| using Microsoft.Rest.ClientRuntime.Azure.TestFramework; | ||
| using System; | ||
| using System.Net.Http; | ||
| using System.Runtime.CompilerServices; | ||
|
|
||
| namespace Microsoft.CognitiveServices.Language.Tests | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Shouldn't the namespace be Microsoft.CognitiveServices.Language.TextAnalytics.Tests? To better match the namespace of the actual API? |
||
| { | ||
| public abstract class BaseTests | ||
| { | ||
| public static bool IsTestTenant = false; | ||
| private static string SubscriptionKey = ""; | ||
| private static string Region = null; | ||
|
|
||
| static BaseTests() | ||
| { | ||
| // Retrieve the configuration information. | ||
|
|
||
| Region = "WestUS"; | ||
| } | ||
|
|
||
| protected ITextAnalyticsAPI GetClient(DelegatingHandler handler) | ||
| { | ||
| ITextAnalyticsAPI client; | ||
| client = new TextAnalyticsAPI(handlers: handler); | ||
| client.SubscriptionKey = SubscriptionKey; | ||
|
|
||
| return client; | ||
| } | ||
| } | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,36 @@ | ||
| using Microsoft.CognitiveServices.Language.TextAnalytics; | ||
| using System; | ||
| using System.Collections.Generic; | ||
| using System.IO; | ||
| using Xunit; | ||
| using Microsoft.Rest.ClientRuntime.Azure.TestFramework; | ||
| using Microsoft.CognitiveServices.Language.TextAnalytics.Models; | ||
| using System.Net; | ||
| using Microsoft.Azure.Test.HttpRecorder; | ||
|
|
||
| namespace Microsoft.CognitiveServices.Language.Tests | ||
| { | ||
| public class DetectLanguageTests : BaseTests | ||
| { | ||
| [Fact] | ||
| public void DetectLanguage() | ||
| { | ||
| using (MockContext context = MockContext.Start(this.GetType().FullName)) | ||
| { | ||
| HttpMockServer.Initialize(this.GetType().FullName, "DetectLanguage"); | ||
| ITextAnalyticsAPI client = GetClient(HttpMockServer.CreateInstance()); | ||
| LanguageBatchResultV2 result = client.DetectLanguage( | ||
| new BatchInputV2( | ||
| new List<InputV2>() | ||
| { | ||
| new InputV2("id","I love my team mates") | ||
| })); | ||
|
|
||
| Assert.Equal("English", result.Documents[0].DetectedLanguages[0].Name); | ||
| Assert.Equal("en", result.Documents[0].DetectedLanguages[0].Iso6391Name); | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Also worth adding an assert for the score |
||
|
|
||
| context.Stop(); | ||
| } | ||
| } | ||
| } | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,38 @@ | ||
| using Microsoft.Azure.Test.HttpRecorder; | ||
| using Microsoft.CognitiveServices.Language.TextAnalytics; | ||
| using Microsoft.CognitiveServices.Language.TextAnalytics.Models; | ||
| using Microsoft.Rest.ClientRuntime.Azure.TestFramework; | ||
| using System; | ||
| using System.Collections.Generic; | ||
| using System.Net; | ||
| using System.Text; | ||
| using Xunit; | ||
|
|
||
| namespace Microsoft.CognitiveServices.Language.Tests | ||
| { | ||
| public class KeyPhrasesTests : BaseTests | ||
| { | ||
| [Fact] | ||
| public void KeyPhrases() | ||
| { | ||
| using (MockContext context = MockContext.Start(this.GetType().FullName)) | ||
| { | ||
| HttpMockServer.Initialize(this.GetType().FullName, "KeyPhrases"); | ||
| ITextAnalyticsAPI client = GetClient(HttpMockServer.CreateInstance()); | ||
| KeyPhraseBatchResultV2 result = client.KeyPhrases( | ||
| new MultiLanguageBatchInputV2( | ||
| new List<MultiLanguageInputV2>() | ||
| { | ||
| new MultiLanguageInputV2() | ||
| { | ||
| Id ="id", | ||
| Text ="I love my team mates", | ||
| Language ="en" | ||
| } | ||
| })); | ||
|
|
||
| Assert.Equal("team mates", result.Documents[0].KeyPhrases[0]); | ||
| } | ||
| } | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| <Project Sdk="Microsoft.NET.Sdk"> | ||
| <Import Project="$([MSBuild]::GetPathOfFileAbove('AzSdk.test.reference.props'))" /> | ||
| <PropertyGroup> | ||
| <PackageId>Microsoft.CognitiveServices.Language.Tests</PackageId> | ||
| <Description>Microsoft.CognitiveServices.Language.Tests Class Library</Description> | ||
| <AssemblyName>Microsoft.CognitiveServices.Language.Tests</AssemblyName> | ||
| <VersionPrefix>1.0.0-preview</VersionPrefix> | ||
| </PropertyGroup> | ||
| <PropertyGroup> | ||
| <TargetFramework>netcoreapp1.1</TargetFramework> | ||
| </PropertyGroup> | ||
|
|
||
| <ItemGroup> | ||
| <PackageReference Include="Microsoft.Azure.Management.ResourceManager" Version="1.6.0-preview" /> | ||
| <ProjectReference Include="..\Microsoft.CognitiveServices.Language\Microsoft.CognitiveServices.Language.csproj" /> | ||
| </ItemGroup> | ||
| <ItemGroup> | ||
| <None Update="SessionRecords\**\*.json"> | ||
| <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | ||
| </None> | ||
| </ItemGroup> | ||
| <ItemGroup> | ||
| <Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" /> | ||
| </ItemGroup> | ||
| <ItemGroup> | ||
| <Folder Include="Helpers\" /> | ||
| </ItemGroup> | ||
|
|
||
| </Project> |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| using Microsoft.Azure.Test.HttpRecorder; | ||
| using Microsoft.CognitiveServices.Language.TextAnalytics; | ||
| using Microsoft.CognitiveServices.Language.TextAnalytics.Models; | ||
| using Microsoft.Rest.ClientRuntime.Azure.TestFramework; | ||
| using System; | ||
| using System.Collections.Generic; | ||
| using System.Text; | ||
| using Xunit; | ||
|
|
||
| namespace Microsoft.CognitiveServices.Language.Tests | ||
| { | ||
| public class SentimentTests : BaseTests | ||
| { | ||
| [Fact] | ||
| public void Sentiment() | ||
| { | ||
| using (MockContext context = MockContext.Start(this.GetType().FullName)) | ||
| { | ||
| HttpMockServer.Initialize(this.GetType().FullName, "Sentiment"); | ||
| ITextAnalyticsAPI client = GetClient(HttpMockServer.CreateInstance()); | ||
| SentimentBatchResultV2 result = client.Sentiment( | ||
| new MultiLanguageBatchInputV2( | ||
| new List<MultiLanguageInputV2>() | ||
| { | ||
| new MultiLanguageInputV2() | ||
| { | ||
| Id ="id", | ||
| Text ="I love my team mates", | ||
| Language ="en" | ||
| } | ||
| })); | ||
|
|
||
| Assert.True(result.Documents[0].Score > 0); | ||
| } | ||
| } | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,55 @@ | ||
| { | ||
| "Entries": [ | ||
| { | ||
| "RequestUri": "/text/analytics/v2.0/languages", | ||
| "EncodedRequestUri": "L3RleHQvYW5hbHl0aWNzL3YyLjAvbGFuZ3VhZ2Vz", | ||
| "RequestMethod": "POST", | ||
| "RequestBody": "{\r\n \"documents\": [\r\n {\r\n \"id\": \"id\",\r\n \"text\": \"I love my team mates\"\r\n }\r\n ]\r\n}", | ||
| "RequestHeaders": { | ||
| "Content-Type": [ | ||
| "application/json; charset=utf-8" | ||
| ], | ||
| "Content-Length": [ | ||
| "98" | ||
| ], | ||
| "Ocp-Apim-Subscription-Key": [ | ||
| "" | ||
| ], | ||
| "User-Agent": [ | ||
| "FxVersion/4.6.25211.01", | ||
| "Microsoft.CognitiveServices.Language.TextAnalytics.TextAnalyticsAPI/1.0.0" | ||
| ] | ||
| }, | ||
| "ResponseBody": "{\r\n \"documents\": [\r\n {\r\n \"id\": \"id\",\r\n \"detectedLanguages\": [\r\n {\r\n \"name\": \"English\",\r\n \"iso6391Name\": \"en\",\r\n \"score\": 1.0\r\n }\r\n ]\r\n }\r\n ],\r\n \"errors\": []\r\n}", | ||
| "ResponseHeaders": { | ||
| "Content-Type": [ | ||
| "application/json; charset=utf-8" | ||
| ], | ||
| "Date": [ | ||
| "Wed, 30 Aug 2017 02:11:18 GMT" | ||
| ], | ||
| "Transfer-Encoding": [ | ||
| "chunked" | ||
| ], | ||
| "x-ms-transaction-count": [ | ||
| "1" | ||
| ], | ||
| "x-aml-ta-request-id": [ | ||
| "473e3a1f-cf5e-4230-85b5-68fe2518370f" | ||
| ], | ||
| "X-Content-Type-Options": [ | ||
| "nosniff" | ||
| ], | ||
| "apim-request-id": [ | ||
| "69e6aeb0-e601-42ca-9468-f0cfaa408708" | ||
| ], | ||
| "Strict-Transport-Security": [ | ||
| "max-age=31536000; includeSubDomains; preload" | ||
| ] | ||
| }, | ||
| "StatusCode": 200 | ||
| } | ||
| ], | ||
| "Names": {}, | ||
| "Variables": {} | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,55 @@ | ||
| { | ||
| "Entries": [ | ||
| { | ||
| "RequestUri": "/text/analytics/v2.0/keyPhrases", | ||
| "EncodedRequestUri": "L3RleHQvYW5hbHl0aWNzL3YyLjAva2V5UGhyYXNlcw==", | ||
| "RequestMethod": "POST", | ||
| "RequestBody": "{\r\n \"documents\": [\r\n {\r\n \"language\": \"en\",\r\n \"id\": \"id\",\r\n \"text\": \"I love my team mates\"\r\n }\r\n ]\r\n}", | ||
| "RequestHeaders": { | ||
| "Content-Type": [ | ||
| "application/json; charset=utf-8" | ||
| ], | ||
| "Content-Length": [ | ||
| "123" | ||
| ], | ||
| "Ocp-Apim-Subscription-Key": [ | ||
| "" | ||
| ], | ||
| "User-Agent": [ | ||
| "FxVersion/4.6.25211.01", | ||
| "Microsoft.CognitiveServices.Language.TextAnalytics.TextAnalyticsAPI/1.0.0" | ||
| ] | ||
| }, | ||
| "ResponseBody": "{\r\n \"documents\": [\r\n {\r\n \"keyPhrases\": [\r\n \"team mates\"\r\n ],\r\n \"id\": \"id\"\r\n }\r\n ],\r\n \"errors\": []\r\n}", | ||
| "ResponseHeaders": { | ||
| "Content-Type": [ | ||
| "application/json; charset=utf-8" | ||
| ], | ||
| "Date": [ | ||
| "Wed, 30 Aug 2017 02:11:17 GMT" | ||
| ], | ||
| "Transfer-Encoding": [ | ||
| "chunked" | ||
| ], | ||
| "x-ms-transaction-count": [ | ||
| "1" | ||
| ], | ||
| "x-aml-ta-request-id": [ | ||
| "460baaca-7f57-42c1-8cc7-8852957d05b9" | ||
| ], | ||
| "X-Content-Type-Options": [ | ||
| "nosniff" | ||
| ], | ||
| "apim-request-id": [ | ||
| "3f09b1c9-fe3b-46bb-badf-98108c599825" | ||
| ], | ||
| "Strict-Transport-Security": [ | ||
| "max-age=31536000; includeSubDomains; preload" | ||
| ] | ||
| }, | ||
| "StatusCode": 200 | ||
| } | ||
| ], | ||
| "Names": {}, | ||
| "Variables": {} | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,55 @@ | ||
| { | ||
| "Entries": [ | ||
| { | ||
| "RequestUri": "/text/analytics/v2.0/sentiment", | ||
| "EncodedRequestUri": "L3RleHQvYW5hbHl0aWNzL3YyLjAvc2VudGltZW50", | ||
| "RequestMethod": "POST", | ||
| "RequestBody": "{\r\n \"documents\": [\r\n {\r\n \"language\": \"en\",\r\n \"id\": \"id\",\r\n \"text\": \"I love my team mates\"\r\n }\r\n ]\r\n}", | ||
| "RequestHeaders": { | ||
| "Content-Type": [ | ||
| "application/json; charset=utf-8" | ||
| ], | ||
| "Content-Length": [ | ||
| "123" | ||
| ], | ||
| "Ocp-Apim-Subscription-Key": [ | ||
| "" | ||
| ], | ||
| "User-Agent": [ | ||
| "FxVersion/4.6.25211.01", | ||
| "Microsoft.CognitiveServices.Language.TextAnalytics.TextAnalyticsAPI/1.0.0" | ||
| ] | ||
| }, | ||
| "ResponseBody": "{\r\n \"documents\": [\r\n {\r\n \"score\": 0.97380387783050537,\r\n \"id\": \"id\"\r\n }\r\n ],\r\n \"errors\": []\r\n}", | ||
| "ResponseHeaders": { | ||
| "Content-Type": [ | ||
| "application/json; charset=utf-8" | ||
| ], | ||
| "Date": [ | ||
| "Wed, 30 Aug 2017 02:11:17 GMT" | ||
| ], | ||
| "Transfer-Encoding": [ | ||
| "chunked" | ||
| ], | ||
| "x-ms-transaction-count": [ | ||
| "1" | ||
| ], | ||
| "x-aml-ta-request-id": [ | ||
| "06db056b-1bf0-4994-933a-f08eacf94053" | ||
| ], | ||
| "X-Content-Type-Options": [ | ||
| "nosniff" | ||
| ], | ||
| "apim-request-id": [ | ||
| "63c5b90f-3a35-48c3-bb85-d89218d1202e" | ||
| ], | ||
| "Strict-Transport-Security": [ | ||
| "max-age=31536000; includeSubDomains; preload" | ||
| ] | ||
| }, | ||
| "StatusCode": 200 | ||
| } | ||
| ], | ||
| "Names": {}, | ||
| "Variables": {} | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| | ||
| Microsoft Visual Studio Solution File, Format Version 12.00 | ||
| # Visual Studio 15 | ||
| VisualStudioVersion = 15.0.26430.16 | ||
| MinimumVisualStudioVersion = 10.0.40219.1 | ||
| Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CognitiveServices.Language", "Microsoft.CognitiveServices.Language\Microsoft.CognitiveServices.Language.csproj", "{6807B854-8528-4FEE-A25D-C43C3AA2D601}" | ||
| EndProject | ||
| Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CognitiveServices.Language.Tests", "Microsoft.CognitiveServices.Language.Tests\Microsoft.CognitiveServices.Language.Tests.csproj", "{5987D97A-E532-450C-BF22-A1F595C927F1}" | ||
| EndProject | ||
| Global | ||
| GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||
| Debug|Any CPU = Debug|Any CPU | ||
| Release|Any CPU = Release|Any CPU | ||
| EndGlobalSection | ||
| GlobalSection(ProjectConfigurationPlatforms) = postSolution | ||
| {6807B854-8528-4FEE-A25D-C43C3AA2D601}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
| {6807B854-8528-4FEE-A25D-C43C3AA2D601}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
| {6807B854-8528-4FEE-A25D-C43C3AA2D601}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
| {6807B854-8528-4FEE-A25D-C43C3AA2D601}.Release|Any CPU.Build.0 = Release|Any CPU | ||
| {5987D97A-E532-450C-BF22-A1F595C927F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
| {5987D97A-E532-450C-BF22-A1F595C927F1}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
| {5987D97A-E532-450C-BF22-A1F595C927F1}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
| {5987D97A-E532-450C-BF22-A1F595C927F1}.Release|Any CPU.Build.0 = Release|Any CPU | ||
| EndGlobalSection | ||
| GlobalSection(SolutionProperties) = preSolution | ||
| HideSolutionNode = FALSE | ||
| EndGlobalSection | ||
| EndGlobal |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@DavidLiCIG we have certain directory structure that is being used throughout the repo.
SDKs\CognitiveServices\management
SDKs\CognitiveServices\dataPlane
we rely on particular names to build and run tests during CI build.
Please change the directory structure accordingly.