public void Get_EndPointHasTwoSegments_Works() { var result = ApiTest.GetString(_server, endPoint: "parent/child", query: "color=blue", returnType: ApiTest.ContentType.Text, handler: request => request.PostSucceeded()); Assert.That(result, Is.EqualTo("OK")); }
public void HandleCurrentBookStatus_LockedByRealUser_StatusIndicatesThatuser() { var originalValue = SIL.Windows.Forms.Registration.Registration.Default.Email; try { SIL.Windows.Forms.Registration.Registration.Default.Email = "*****@*****.**"; var apiBuilder = new TeamCollectionApiBuilder().WithDefaultMocks(true); var api = apiBuilder.Build(); api.RegisterWithApiHandler(_server.ApiHandler); var mockTeamCollection = SetupMockTcForBookStatus(apiBuilder); mockTeamCollection.Setup(x => x.WhoHasBookLocked(It.IsAny <string>())).Returns("*****@*****.**"); mockTeamCollection.Setup(x => x.WhatComputerHasBookLocked(It.IsAny <string>())).Returns("Other's Computer"); // System Under Test var result = ApiTest.GetString(_server, endPoint: "teamCollection/selectedBookStatus", returnType: ApiTest.ContentType.Text); // Verification StringAssert.Contains("\"who\":\"[email protected]\"", result); } finally { // Cleanup SIL.Windows.Forms.Registration.Registration.Default.Email = originalValue; } }
public void Get_EndPointCaseIsIgnored() { var result = ApiTest.GetString(_server, endPoint: "fooBAR", endOfUrlForTest: "FOObar", handler: request => request.PostSucceeded()); Assert.That(result, Is.EqualTo("OK")); }
public void HandleGetLog_NonZeroMessages_MessagesReturned() { var apiBuilder = new TeamCollectionApiBuilder().WithDefaultMocks(); var api = apiBuilder.Build(); api.RegisterWithApiHandler(_server.ApiHandler); var mockMessageLog = new Mock <ITeamCollectionMessageLog>(); apiBuilder.MockTeamCollectionManager.SetupGet(x => x.MessageLog).Returns(mockMessageLog.Object); mockMessageLog.Setup(x => x.GetProgressMessages()).Returns( new BloomWebSocketProgressEvent[] { new BloomWebSocketProgressEvent("unused", ProgressKind.Progress, "1"), new BloomWebSocketProgressEvent("unused", ProgressKind.Progress, "2") } ); // System Under Test var result = ApiTest.GetString(_server, endPoint: "teamCollection/getLog", returnType: ApiTest.ContentType.JSON); // Verification var deserializedArray = JsonConvert.DeserializeObject <BloomWebSocketProgressEvent[]>(result); var messages = deserializedArray.Select(x => x.message).ToArray(); CollectionAssert.AreEqual(new string[] { "1", "2" }, messages); }
public void RunCopyFileCompletesSuccessfullyTest(string baseName) { // Setup string sourceFolderName = $"{baseName} Folder"; string sourceFileName = $"{baseName} audio.mp3"; string collectionName = $"{baseName} Collection"; string bookTitle = $"{baseName} Book"; (string sourceFilePath, string destDirPath) = SetupCopyFileTests(sourceFolderName, sourceFileName, collectionName, bookTitle); string encodedSourceFilePath = EncodeFilenameForHttpRequest(sourceFilePath); string destFilePath = Path.Combine(destDirPath, "fa22704c-6f27-4c1f-9f1b-7eb62baf2fde.mp3"); string encodedDestFilePath = EncodeFilenameForHttpRequest(destFilePath); string jsonData = $"{{ \"from\": \"{encodedSourceFilePath}\", \"to\": \"{encodedDestFilePath}\" }}"; // System Under Test // // Debugging tip: If debugging with breakpoints, set the timeout to some high value int?timeoutInMilliseconds = null; var result = ApiTest.PostString(_server, "fileIO/copyFile", jsonData, ApiTest.ContentType.JSON, timeoutInMilliseconds: timeoutInMilliseconds); // Verification Assert.That(result, Is.EqualTo("OK"), "Request should reply \"OK\" if successful"); Assert.That(File.ReadAllText(destFilePath), Is.EqualTo("fakeSourceFileContents"), "Contents of copied file were not as expected."); }
public void Get_RegexEndPoint() { var result = ApiTest.GetString(_server, endPoint: "foo[0-9]bar", endOfUrlForTest: "foo7bar", handler: request => request.PostSucceeded()); Assert.That(result, Is.EqualTo("OK")); }
static void OnMessage(BaseMessage bm) { switch (bm.msg) { case LocalMsg.OnOpen: Console.WriteLine("Connection Open"); ApiTest.SetBackground(); //ApiTest.NextExpression(); //ApiTest.RegisterModelEventListener(); //ApiTest.SetPosition(); //ApiTest.StartMotion(0, "tap_head"); //ApiTest.StartMotion(1, "motions/haru_normal_01.mtn"); //ApiTest.ShowTextBubble(); break; case LocalMsg.OnError: case LocalMsg.OnClose: Environment.Exit(0); break; case Msg.OnModelEvent: ModelEvent evt = bm.GetData <ModelEvent>(); if (evt != null) { Console.WriteLine(evt.ToString()); } ApiTest.UnregisterModelEventListener(); break; case Msg.ShowTextBubble: Console.WriteLine(string.Format("msgId: {0}, data: {1}", bm.msgId, bm.IntValue)); break; } }
public void HandleCurrentBookStatus_LockedByFakeUser_FakeUserConvertedToCurrentUser() { var originalValue = SIL.Windows.Forms.Registration.Registration.Default.Email; try { SIL.Windows.Forms.Registration.Registration.Default.Email = "*****@*****.**"; var mockBook = new Mock <Bloom.Book.Book>(); mockBook.Setup(m => m.IsSaveable).Returns(true); mockBook.Setup(m => m.FolderPath).Returns(""); var mockBookSelection = new Mock <BookSelection>(); mockBookSelection.Setup(m => m.CurrentSelection).Returns(mockBook.Object); var apiBuilder = new TeamCollectionApiBuilder().WithDefaultMocks(true). WithBookSelection(mockBookSelection.Object); var api = apiBuilder.Build(); api.RegisterWithApiHandler(_server.ApiHandler); var mockTeamCollection = SetupMockTcForBookStatus(apiBuilder); mockTeamCollection.Setup(x => x.WhoHasBookLocked(It.IsAny <string>())).Returns("this user"); mockTeamCollection.Setup(x => x.WhatComputerHasBookLocked(It.IsAny <string>())).Returns("My Computer"); // System Under Test var result = ApiTest.GetString(_server, endPoint: "teamCollection/selectedBookStatus", returnType: ApiTest.ContentType.Text); // Verification StringAssert.Contains("\"who\":\"[email protected]\"", result); } finally { // Cleanup SIL.Windows.Forms.Registration.Registration.Default.Email = originalValue; } }
public void Should_Test_Api() { IyzipayResource iyzipayResource = ApiTest.Retrieve(options); PrintResponse <IyzipayResource>(iyzipayResource); Assert.IsNotNull(iyzipayResource.SystemTime); Assert.AreEqual(Status.SUCCESS.ToString(), iyzipayResource.Status); }
public void ReportHeadingHtml_GivenUnencodedHtmlInSummary_EncodesTheHtml() { bool isSummaryPreEncoded = false; SetupApiHandler(GetDefaultBookSelection()); ProblemReportApi.GatherReportInfoExceptScreenshot(null, "Fake Details", "Fake Problem: See <a href=\"http://bloomlibrary.org\">Bloom Library</a> for help", isSummaryPreEncoded); var result = ApiTest.GetString(_server, "problemReport/reportHeadingHtml"); Assert.That(result, Is.EqualTo("Fake Problem: See <a href="http://bloomlibrary.org">Bloom Library</a> for help")); }
public void Post_JSON_JSONReceived() { var result = ApiTest.PostString(_server, endPoint: "test", data: "{\"color\": \"blue\"}", returnType: ApiTest.ContentType.JSON, handler: request => { var requiredPostJson = request.RequiredPostJson(); request.ReplyWithText(DynamicJson.Parse(requiredPostJson).color); }); Assert.That(result, Is.EqualTo("blue")); }
static void Main(string[] args) { ApiTest runTest = new ApiTest(); runTest.runTest(); //PerformanceTest performanceTest = new PerformanceTest(); //performanceTest.runTest(); while (true) { Thread.Sleep(100); } }
public void ReportHeadingHtml_GivenPreEncodedHtmlInSummary_ReturnsRawHtmlDirectly() { bool isSummaryPreEncoded = true; SetupApiHandler(GetDefaultBookSelection()); ProblemReportApi.GatherReportInfoExceptScreenshot(null, "Fake Details", "Fake Problem: See <a href=\"http://bloomlibrary.org\">Bloom Library</a> for help", isSummaryPreEncoded); var result = ApiTest.GetString(_server, "problemReport/reportHeadingHtml"); Assert.That(result, Is.EqualTo("Fake Problem: See <a href=\"http://bloomlibrary.org\">Bloom Library</a> for help")); }
public void HandleRepoFolderPath_NullCurrCollection_ReturnsEmptyString() { var apiBuilder = new TeamCollectionApiBuilder().WithDefaultMocks(); var api = apiBuilder.Build(); api.RegisterWithApiHandler(_server.ApiHandler); // System Under Test var result = ApiTest.GetString(_server, endPoint: "teamCollection/repoFolderPath", returnType: ApiTest.ContentType.Text); Assert.That(result, Is.EqualTo("")); }
public void Get_OneParameter_KeyValueReceived() { var result = ApiTest.GetString(_server, endPoint: "test", query: "color=blue", returnType: ApiTest.ContentType.Text, handler: request => { Assert.That(request.RequiredParam("color"), Is.EqualTo("blue")); request.ReplyWithText(request.RequiredParam("color")); } ); Assert.That(result, Is.EqualTo("blue")); }
public void Should_Test_Api() { IyzipayResource iyzipayResource = ApiTest.Retrieve(options); PrintResponse <IyzipayResource>(iyzipayResource); Assert.AreEqual(Status.SUCCESS.ToString(), iyzipayResource.Status); Assert.AreEqual(Locale.TR.ToString(), iyzipayResource.Locale); Assert.IsNotNull(iyzipayResource.SystemTime); Assert.IsNull(iyzipayResource.ErrorCode); Assert.IsNull(iyzipayResource.ErrorMessage); Assert.IsNull(iyzipayResource.ErrorGroup); }
public async Task Should_Test_Api() { IyzipayResource iyzipayResource = await ApiTest.RetrieveAsync(Options); PrintResponse(iyzipayResource); Assert.AreEqual(Status.SUCCESS.ToString(), iyzipayResource.Status); Assert.AreEqual(Locale.TR.ToString(), iyzipayResource.Locale); Assert.IsNotNull(iyzipayResource.SystemTime); Assert.IsNull(iyzipayResource.ErrorCode); Assert.IsNull(iyzipayResource.ErrorMessage); Assert.IsNull(iyzipayResource.ErrorGroup); }
static void OnMessage(BaseMessage bm) { switch (bm.msg) { case LocalMsg.OnOpen: ApiTest.SetBackground(); break; case LocalMsg.OnError: case LocalMsg.OnClose: Environment.Exit(0); break; } }
public void HandleIsTeamCollectionEnabled_ExceptionThrown_RequestFailed() { var apiBuilder = new TeamCollectionApiBuilder().WithDefaultMocks(); var api = apiBuilder.Build(); api.RegisterWithApiHandler(_server.ApiHandler); apiBuilder.MockTeamCollectionManager.SetupGet(x => x.CurrentCollectionEvenIfDisconnected).Returns(() => throw new ApplicationException()); // System Under Test TestDelegate systemUnderTest = () => ApiTest.GetString(_server, endPoint: "teamCollection/isTeamCollectionEnabled", returnType: ApiTest.ContentType.Text); Assert.Throws(typeof(System.Net.WebException), systemUnderTest); }
public void HandleIsTeamCollectionEnabled_NoCollection_ReturnsFalse() { var apiBuilder = new TeamCollectionApiBuilder().WithDefaultMocks(); var api = apiBuilder.Build(); api.RegisterWithApiHandler(_server.ApiHandler); // apiBuilder.MockTeamCollectionManager.Object.CurrentCollectionEvenIfDisconnected hasn't been changed, // so it will return null // System Under Test var result = ApiTest.GetString(_server, endPoint: "teamCollection/isTeamCollectionEnabled", returnType: ApiTest.ContentType.Text); Assert.That(result, Is.EqualTo("false")); }
public void HandleGetLog_NullMessageLog_RequestFailed() { var apiBuilder = new TeamCollectionApiBuilder().WithDefaultMocks(); var api = apiBuilder.Build(); api.RegisterWithApiHandler(_server.ApiHandler); apiBuilder.MockTeamCollectionManager.SetupGet(x => x.MessageLog).Returns((ITeamCollectionMessageLog)null); TestDelegate systemUnderTest = () => { ApiTest.GetString(_server, endPoint: "teamCollection/getLog", returnType: ApiTest.ContentType.JSON); }; Assert.Throws(typeof(System.Net.WebException), systemUnderTest); }
public void HandleRepoFolderPath_NonNullCurrCollection_ReturnsRepoDescription() { var apiBuilder = new TeamCollectionApiBuilder().WithDefaultMocks(); var api = apiBuilder.Build(); api.RegisterWithApiHandler(_server.ApiHandler); var mockTeamCollection = new Mock <Bloom.TeamCollection.TeamCollection>(); mockTeamCollection.SetupGet(x => x.RepoDescription).Returns("Fake Description"); apiBuilder.MockTeamCollectionManager.SetupGet(x => x.CurrentCollectionEvenIfDisconnected).Returns(mockTeamCollection.Object); // System Under Test var result = ApiTest.GetString(_server, endPoint: "teamCollection/repoFolderPath", returnType: ApiTest.ContentType.Text); Assert.That(result, Is.EqualTo("Fake Description")); }
public void HandleIsTeamCollectionEnabled_CurrentSelectionNull_ReturnsTrue() { var apiBuilder = new TeamCollectionApiBuilder().WithDefaultMocks(); var api = apiBuilder.Build(); api.RegisterWithApiHandler(_server.ApiHandler); var mockTeamCollection = new Mock <Bloom.TeamCollection.TeamCollection>(); apiBuilder.MockTeamCollectionManager.SetupGet(x => x.CurrentCollectionEvenIfDisconnected).Returns(mockTeamCollection.Object); // apiBuilder.MockBookSelection.Object.CurrentSelection will return null // System Under Test var result = ApiTest.GetString(_server, endPoint: "teamCollection/isTeamCollectionEnabled", returnType: ApiTest.ContentType.Text); Assert.That(result, Is.EqualTo("true")); }
public void HandleCurrentBookStatus_InsufficientRegistration_RequestFails() { var originalValue = SIL.Windows.Forms.Registration.Registration.Default.Email; try { SIL.Windows.Forms.Registration.Registration.Default.Email = ""; var api = new TeamCollectionApiBuilder().WithDefaultMocks().Build(); api.RegisterWithApiHandler(_server.ApiHandler); // System Under Test TestDelegate systemUnderTest = () => ApiTest.GetString(_server, endPoint: "teamCollection/currentBookStatus", returnType: ApiTest.ContentType.Text); Assert.Throws(typeof(System.Net.WebException), systemUnderTest); } finally { SIL.Windows.Forms.Registration.Registration.Default.Email = originalValue; } }
protected Scenario(ScenarioBuilder builder, ApiTest api, ITestOutputHelper output) { this.builder = builder; Api = api; this.output = output; }
public void IsReceivingApiCalls() { var result = ApiTest.GetString(_server, "readers/io/test"); Assert.That(result, Is.EqualTo("OK")); }
public void GetTextOfContentPagesAsJson_OmitsUnwantedPages() { var htmlLeveledReader = $@"<html><head><meta charset='UTF-8'></meta></head> <body class='leveled-reader' data-l1='en' data-l2='fr' data-l3='es'> <!-- ignore page with bloom-frontMatter class --> <div class='bloom-page bloom-frontMatter' id='b8408838-e9ed-4d76-bb8a-24ad0708b329' lang='fr'> <div class='marginBox'> <div class='bloom-translationGroup bookTitle' data-default-languages='V,N1'> <div class='bloom-editable bloom-content1 bloom-visibility-code-on' lang='en'> <p>Level Two</p> </div> </div> <div class='bloom-imageContainer' title='Name: aor_IN16.png'> <img src='aor_IN16.png'></img> <div class='bloom-translationGroup bloom-imageDescription'> <div class='bloom-editable bloom-content1 bloom-visibility-code-on' lang='en'>cat</div> </div> </div> </div> </div> <!-- ignore page with bloom-nonprinting class --> <div class='bloom-page bloom-noreader bloom-nonprinting screen-only' id='33b7e4c5-6cd1-4611-a50f-85837143cbf6' lang=''> <div class='pageLabel' data-i18n='TemplateBooks.PageLabel.Translation Instructions' lang='en'>Translation Instructions</div> <div class='marginBox'> <div class='split-pane-component-inner'> <div class='bloom-translationGroup' data-default-languages='*'> <div class='bloom-editable bloom-content1 bloom-visibility-code-on' data-book='' lang='en' contenteditable='true'> <p>Instructions in vernacular language ...</p> </div> </div> </div> </div> </div> <!-- skip over page with no bloom-content1 content apart from image descriptions --> <div class='bloom-page numberedPage' id='a2ecb8be-5c7f-440d-9ef5-d503476211cd' data-page-number='1' lang=''> <div class='pageLabel' data-i18n='TemplateBooks.PageLabel.Just a Picture' lang='en'>Just a Picture</div> <div class='marginBox'> <div class='split-pane-component-inner'> <div class='bloom-imageContainer' title='Name: aor_acc034m.png'> <img src='aor_acc034m.png' alt='cat staring at something outside the picture'></img> <div class='bloom-translationGroup bloom-imageDescription bloom-trailingElement'> <div class='bloom-editable bloom-content1 bloom-visibility-code-on' lang='en'> <p>cat staring at something outside the picture</p> </div> </div> </div> </div> </div> </div> <!-- include content page with bloom-content1 content, ignoring image description --> <div class='bloom-page numberedPage' id='85a320a4-b73f-4149-87a1-9a1297ef04b0' data-page-number='2' lang=''> <div class='pageLabel' data-i18n='TemplateBooks.PageLabel.Basic Text & Picture' lang='en'>Basic Text & Picture</div> <div class='marginBox'> <div class='split-pane horizontal-percent'> <div class='split-pane-component position-top'> <div class='split-pane-component-inner'> <div class='bloom-imageContainer bloom-leadingElement' title='Name: aor_Cat3.png'> <img src='aor_Cat3.png' alt='cat lying down and staring at you through slitted eyes'></img> <div class='bloom-translationGroup bloom-imageDescription'> <div class='bloom-editable bloom-content1 bloom-visibility-code-on' lang='en'> <p>cat lying down and staring at you through slitted eyes</p> </div> </div> </div> </div> </div> <div class='split-pane-divider horizontal-divider'></div> <div class='split-pane-component position-bottom'> <div class='split-pane-component-inner'> <div class='bloom-translationGroup' data-default-languages='auto'> <div class='bloom-editable bloom-content1 bloom-visibility-code-on' id='i57437cd1-c55c-499e-b0c3-d7195fba5f11' lang='en'> <p>A cat stares at you.</p> </div> </div> </div> </div> </div> </div> </div> <!-- include content page with empty bloom-content1 content, ignoring image description --> <div class='bloom-page numberedPage' id='d46e4259-2a99-4197-b21d-bf97a992b7d0' data-page-number='3' lang=''> <div class='pageLabel' data-i18n='TemplateBooks.PageLabel.Basic Text & Picture' lang='en'>Basic Text & Picture</div> <div class='marginBox'> <div class='split-pane horizontal-percent'> <div class='split-pane-component position-top'> <div class='split-pane-component-inner'> <div class='bloom-imageContainer' title='Name: aor_ACC029M.png'> <img src='aor_ACC029M.png' alt='cat sleeping in a box that is just large enough'></img> <div class='bloom-translationGroup bloom-imageDescription'> <div class='bloom-editable bloom-content1 bloom-visibility-code-on' lang='en'> <p>cat sleeping in a box that is just large enough</p> </div> </div> </div> </div> </div> <div class='split-pane-divider horizontal-divider'></div> <div class='split-pane-component position-bottom'> <div class='split-pane-component-inner'> <div class='bloom-translationGroup' data-default-languages='auto'> <div class='bloom-editable bloom-content1 bloom-visibility-code-on' lang='en'> <p></p> </div> </div> </div> </div> </div> </div> </div> <!-- include content page with bloom-content1 content and no image --> <div class='bloom-page numberedPage' id='5a424678-ec70-4c97-a547-015ff38dfd11' data-page-number='4' lang=''> <div class='marginBox'> <div class='bloom-translationGroup bloom-trailingElement' data-default-languages='auto'> <div class='bloom-editable normal-style bloom-content1 bloom-visibility-code-on' lang='en'> <p>See the two kittens.</p> </div> </div> </div> </div> <!-- include page with non-vernacular text if it also has vernacular text --> <div class='bloom-page numberedPage' id='ebbd7f47-05fa-4e6d-a7a1-cb526bb5efb8' data-page-number='5' lang=''> <div class='pageLabel' data-i18n='TemplateBooks.PageLabel.Custom' lang='en'>Custom</div> <div class='marginBox'> <div class='split-pane horizontal-percent'> <div class='split-pane-component position-top'> <div class='split-pane-component-inner' min-width='60px 150px 250px' min-height='60px 150px'> <div class='bloom-translationGroup bloom-trailingElement' data-default-languages='N1'> <div class='bloom-editable bloom-contentNational1 bloom-visibility-code-on' lang='fr'> <p>national language text</p> </div> </div> </div> </div> <div class='split-pane-divider horizontal-divider' title='33.2%'></div> <div class='split-pane-component position-bottom'> <div class='split-pane-component position-top'> <div class='split-pane-component-inner' min-width='60px 150px 250px' min-height='60px 150px'> <div class='bloom-translationGroup bloom-trailingElement' data-default-languages='V'> <div class='bloom-editable bloom-content1 bloom-visibility-code-on' lang='en'> <p>local language text</p> </div> </div> </div> </div> </div> </div> </div> </div> <!-- ignore page with bloom-ignoreForReaderStats class --> <div class='bloom-page numberedPage bloom-ignoreForReaderStats' id='ebad7a47-05fa-4e6d-a7a1-cb526bb5efb8' data-page-number='6' lang=''> <div class='pageLabel' data-i18n='TemplateBooks.PageLabel.Custom' lang='en'>Custom</div> <div class='marginBox'> <div class='split-pane horizontal-percent'> <div class='split-pane-component position-top'> <div class='split-pane-component-inner' min-width='60px 150px 250px' min-height='60px 150px'> <div class='bloom-translationGroup bloom-trailingElement' data-default-languages='N1'> <div class='bloom-editable normal-style bloom-contentNational1 bloom-visibility-code-on' lang='fr'> <p>This is in the national language.</p> </div> </div> </div> </div> <div class='split-pane-divider horizontal-divider' title='33.2%'></div> <div class='split-pane-component position-bottom'> <div class='split-pane-component position-top'> <div class='split-pane-component-inner' min-width='60px 150px 250px' min-height='60px 150px'> <div class='bloom-translationGroup bloom-trailingElement' data-default-languages='V'> <div class='bloom-editable normal-style bloom-content1 bloom-visibility-code-on' lang='en'> <p>This is in the local language.</p> </div> </div> </div> </div> </div> </div> </div> </div> <!-- ignore page with bloom-backMatter class --> <div class='bloom-page titlePage bloom-backMatter' id='0f8d4d80-0519-42b6-bcde-6362b99ed1ff' lang='fr'> <div class='pageLabel' lang='en' data-i18n='TemplateBooks.PageLabel.Title Page'>Title Page</div> <div class='marginBox'> <div class='bloom-translationGroup' data-default-languages='V,N1' id='titlePageTitleBlock'> <div class='bloom-editable bloom-content1 bloom-visibility-code-on' lang='en'> <p>Level Two</p> </div> </div> </div> </div> </body></html> "; var doc = new XmlDocument(); doc.LoadXml(htmlLeveledReader); var dom = new HtmlDom(doc); var storage = CreateMockStorage(dom, "GetPagesForReader"); var book = new Bloom.Book.Book(storage.Object.BookInfo, storage.Object); _bookSelection.SelectBook(book); var result = ApiTest.GetString(_server, "readers/io/textOfContentPages"); Assert.That(result, Is.EqualTo("{\"85a320a4-b73f-4149-87a1-9a1297ef04b0\":\"<p>A cat stares at you.</p>\",\"d46e4259-2a99-4197-b21d-bf97a992b7d0\":\"<p />\",\"5a424678-ec70-4c97-a547-015ff38dfd11\":\"<p>See the two kittens.</p>\",\"ebbd7f47-05fa-4e6d-a7a1-cb526bb5efb8\":\"<p>local language text</p>\"}")); }
public MintScenario(ScenarioBuilder builder, ApiTest api, ITestOutputHelper output) : base(builder, api, output) { partnerId = builder.Data.PartnerId; catalogId = builder.Data.CatalogId; }
public RetrieveTokenScenario(ScenarioBuilder builder, ApiTest api, ITestOutputHelper output) : base(builder, api, output) { }
static void Main(string[] args) { var tester = new ApiTest(); tester.PerformTest(); }
public ScenarioBuilder(ApiTest api, ITestOutputHelper output) { this.api = api; this.output = output; }