public void TestSEOContentFromFile_SinglePage_FileUnavailableError_bvReveal() { BVConfiguration bvConfig = new BVSdkConfiguration(); bvConfig.addProperty(BVClientConfig.LOAD_SEO_FILES_LOCALLY, "True"); bvConfig.addProperty(BVClientConfig.LOCAL_SEO_FILE_ROOT, @"E:\alpha-beta-invalid-\Seo_cyberduck\myshco-359c29d8a8cbe3822bc0d7c58cb9f9ca"); bvConfig.addProperty(BVClientConfig.CLOUD_KEY, "myshco-359c29d8a8cbe3822bc0d7c58cb9f9ca"); bvConfig.addProperty(BVClientConfig.BV_ROOT_FOLDER, "9344seob"); bvConfig.addProperty(BVClientConfig.EXECUTION_TIMEOUT, "300000"); BVUIContent uiContent = new BVManagedUIContent(bvConfig); BVParameters bvParameters = new BVParameters(); bvParameters.UserAgent = "google"; bvParameters.ContentType = new BVContentType(BVContentType.REVIEWS); bvParameters.SubjectType = new BVSubjectType(BVSubjectType.PRODUCT); bvParameters.SubjectId = "3000001_thisFiledoesNotExist"; bvParameters.BaseURI = "http://www.example.com/store/products/data-gen-696yl2lg1kurmqxn88fqif5y2/"; bvParameters.PageURI = "http://www.example.com/store/products/data-gen-696yl2lg1kurmqxn88fqif5y2?bvreveal=debug"; String theUIContent = uiContent.getContent(bvParameters); Assert.AreEqual <Boolean>(!theUIContent.Contains("BVRRSourceID"), true, "there should not be BvRRSourceID in the content"); Assert.AreEqual <Boolean>(theUIContent.Contains("The resource to the URL or file is currently unavailable."), true, "there should be resource unavailable message"); Assert.AreEqual <Boolean>(theUIContent.Contains("debug"), true, "there should be debug message"); }
protected void Page_Load(object sender, EventArgs e) { BVConfiguration bvConfig = new BVSdkConfiguration(); String cloudKey = Request.QueryString["cloudkey"]; String staging = Request.QueryString["staging"]; String testing = Request.QueryString["testing"]; String rootFolder = Request.QueryString["site"]; String subjectId = "seller"; if (cloudKey != null) { bvConfig.addProperty(BVClientConfig.CLOUD_KEY, cloudKey); } else { bvConfig.addProperty(BVClientConfig.CLOUD_KEY, "srd-testcustomer-1-c3a130de760b3105e75e8202cb22e541"); } if (staging != null) { bvConfig.addProperty(BVClientConfig.STAGING, staging); } else { bvConfig.addProperty(BVClientConfig.STAGING, "false"); } if (testing != null) { bvConfig.addProperty(BVClientConfig.TESTING, testing); } else { bvConfig.addProperty(BVClientConfig.TESTING, "true"); } if (rootFolder != null) { bvConfig.addProperty(BVClientConfig.BV_ROOT_FOLDER, rootFolder); } else { bvConfig.addProperty(BVClientConfig.BV_ROOT_FOLDER, "Main_Site-en_US"); } var bvParameters = new BVParameters { BaseURI = Request.Url.ToString().Contains("?") ? Request.Url.ToString().Substring(0, Request.Url.ToString().IndexOf("?")) : Request.Url.ToString(), PageURI = Request.Url.ToString(), ContentType = new BVContentType(BVContentType.REVIEWS), SubjectType = new BVSubjectType(BVSubjectType.SELLER), SubjectId = subjectId }; BVUIContent bvOutput = new BVManagedUIContent(bvConfig); BVSellerRatingsContainer.InnerHtml = bvOutput.getContent(bvParameters); BVSEOURL.InnerHtml = bvOutput.getUrl(); }
public void TestSEOContentFromHTTP_SinglePagePRR_Reviews() { BVConfiguration bvConfig = new BVSdkConfiguration(); bvConfig.addProperty(BVClientConfig.LOAD_SEO_FILES_LOCALLY, "false"); bvConfig.addProperty(BVClientConfig.CLOUD_KEY, "myshco-69cb945801532dcfb57ad2b0d2471b68"); bvConfig.addProperty(BVClientConfig.BV_ROOT_FOLDER, "Main_Site-en_US"); bvConfig.addProperty(BVClientConfig.EXECUTION_TIMEOUT, "3000"); bvConfig.addProperty(BVClientConfig.STAGING, "true"); BVUIContent uiContent = new BVManagedUIContent(bvConfig); BVParameters bvParameters = new BVParameters(); bvParameters.UserAgent = "google"; bvParameters.ContentType = new BVContentType(BVContentType.REVIEWS); bvParameters.SubjectType = new BVSubjectType(BVSubjectType.PRODUCT); bvParameters.SubjectId = "2000002"; String theUIContent = uiContent.getReviews(bvParameters); Assert.AreEqual <Boolean>(theUIContent.Contains("itemprop=\"review\" itemscope itemtype=\"http://schema.org/Review\""), true, "there should be reviews section in the content"); Assert.AreEqual <Boolean>(!theUIContent.Contains("itemprop=\"aggregateRating\" itemscope itemtype=\"http://schema.org/AggregateRating\""), true, "there should not be AggregateRating in the content"); }
protected void Page_Load(object sender, EventArgs e) { BVConfiguration bvConfig = new BVSdkConfiguration(); bvConfig.addProperty(BVClientConfig.SEO_SDK_ENABLED, "true"); // use this as a kill switch bvConfig.addProperty(BVClientConfig.LOAD_SEO_FILES_LOCALLY, "false"); // set to false if using cloud-based content bvConfig.addProperty(BVClientConfig.LOCAL_SEO_FILE_ROOT, "/"); bvConfig.addProperty(BVClientConfig.STAGING, "false"); // set to true for staging environment data bvConfig.addProperty(BVClientConfig.CRAWLER_AGENT_PATTERN, "yandex"); bvConfig.addProperty(BVClientConfig.CLOUD_KEY, "bodyglove-8e186f6e16e2d688784728b360df41c5"); bvConfig.addProperty(BVClientConfig.BV_ROOT_FOLDER, "Main_Site-en_US"); bvConfig.addProperty(BVClientConfig.EXECUTION_TIMEOUT, "300000"); BVUIContent uiContent = new BVManagedUIContent(bvConfig); var bvParameters = new BVParameters { BaseURI = Request.Url.AbsoluteUri, PageURI = Request.Url.AbsoluteUri + "?bvpage=ctre/id50524/stp" }; var theUiContent = uiContent.getContent(bvParameters); BVRRContainer.InnerHtml = theUiContent; }
public void TestAggregate_NullSubjectID() { BVConfiguration _bvConfig = new BVSdkConfiguration(); _bvConfig.addProperty(BVClientConfig.SEO_SDK_ENABLED, "true"); _bvConfig.addProperty(BVClientConfig.LOAD_SEO_FILES_LOCALLY, "false"); _bvConfig.addProperty(BVClientConfig.CLOUD_KEY, "hartz-2605f8e4ef6790962627644cc195acf2"); _bvConfig.addProperty(BVClientConfig.STAGING, "false"); _bvConfig.addProperty(BVClientConfig.BV_ROOT_FOLDER, "11568-en_US"); _bvConfig.addProperty(BVClientConfig.EXECUTION_TIMEOUT, "300000"); BVParameters _bvParam = new BVParameters(); _bvParam.UserAgent = "google"; _bvParam.BaseURI = "http://localhost:8080/thispage.htm"; _bvParam.PageURI = "http://localhost:8080/abcd" + "?" + "notSure=1&letSee=2"; _bvParam.ContentType = new BVContentType(BVContentType.REVIEWS); _bvParam.SubjectType = new BVSubjectType(BVSubjectType.PRODUCT); _bvParam.SubjectId = null; BVUIContent _bvOutput = new BVManagedUIContent(_bvConfig); String sBvOutputSummary = _bvOutput.getAggregateRating(_bvParam); Assert.IsTrue(sBvOutputSummary.Contains("<li data-bvseo=\"ms\">bvseo-msg: SubjectId cannot be null or empty.;</li>"), "there should be error message for SubjectId"); sBvOutputSummary = _bvOutput.getReviews(_bvParam); Assert.IsTrue(sBvOutputSummary.Contains("<li data-bvseo=\"ms\">bvseo-msg: SubjectId cannot be null or empty.;</li>"), "there should be error message for SubjectId"); sBvOutputSummary = _bvOutput.getContent(_bvParam); Assert.IsTrue(sBvOutputSummary.Contains("<li data-bvseo=\"ms\">bvseo-msg: SubjectId cannot be null or empty.;</li>"), "there should be error message for SubjectId"); }
public void TestAggregate_InvalidURL() { BVConfiguration _bvConfig = new BVSdkConfiguration(); _bvConfig.addProperty(BVClientConfig.SEO_SDK_ENABLED, "true"); _bvConfig.addProperty(BVClientConfig.LOAD_SEO_FILES_LOCALLY, "false"); _bvConfig.addProperty(BVClientConfig.CLOUD_KEY, "adobe-invalid-55d020998d7b4776fb0f9df49278083c"); _bvConfig.addProperty(BVClientConfig.STAGING, "false"); _bvConfig.addProperty(BVClientConfig.BV_ROOT_FOLDER, "8814"); _bvConfig.addProperty(BVClientConfig.EXECUTION_TIMEOUT, "300000"); BVParameters _bvParam = new BVParameters(); _bvParam.UserAgent = "google"; _bvParam.BaseURI = "http://localhost:8080/thispage.htm"; _bvParam.PageURI = "http://localhost:8080/abcd" + "?" + "notSure=1&letSee=2"; _bvParam.ContentType = new BVContentType(BVContentType.REVIEWS); _bvParam.SubjectType = new BVSubjectType(BVSubjectType.PRODUCT); _bvParam.SubjectId = "PR6"; BVUIContent _bvOutput = new BVManagedUIContent(_bvConfig); String sBvOutputSummary = _bvOutput.getAggregateRating(_bvParam); Assert.IsTrue(sBvOutputSummary.Contains("<li data-bvseo=\"ms\">bvseo-msg: The resource to the URL or file is currently unavailable.;</li>"), "there should be error message for SubjectId"); sBvOutputSummary = _bvOutput.getReviews(_bvParam); Assert.IsTrue(sBvOutputSummary.Contains("<li data-bvseo=\"ms\">bvseo-msg: The resource to the URL or file is currently unavailable.;</li>"), "there should be error message for SubjectId"); sBvOutputSummary = _bvOutput.getContent(_bvParam); Assert.IsTrue(sBvOutputSummary.Contains("<li data-bvseo=\"ms\">bvseo-msg: The resource to the URL or file is currently unavailable.;</li>"), "there should be error message for SubjectId"); }
public void TestSEOContent_SinglePageHTTP_GetReview_SDK_Disabled() { BVConfiguration _bvConfig = new BVSdkConfiguration(); _bvConfig.addProperty(BVClientConfig.SEO_SDK_ENABLED, "false"); _bvConfig.addProperty(BVClientConfig.LOAD_SEO_FILES_LOCALLY, "false"); _bvConfig.addProperty(BVClientConfig.CLOUD_KEY, "hartz-2605f8e4ef6790962627644cc195acf2"); _bvConfig.addProperty(BVClientConfig.STAGING, "false"); _bvConfig.addProperty(BVClientConfig.BV_ROOT_FOLDER, "11568-en_US"); _bvConfig.addProperty(BVClientConfig.EXECUTION_TIMEOUT, "300000"); BVParameters _bvParam = new BVParameters(); _bvParam.UserAgent = "google"; _bvParam.BaseURI = "http://localhost:8080/thispage.htm"; _bvParam.PageURI = "http://localhost:8080/abcd" + "?" + "notSure=1&letSee=2"; _bvParam.ContentType = new BVContentType(BVContentType.REVIEWS); _bvParam.SubjectType = new BVSubjectType(BVSubjectType.PRODUCT); _bvParam.SubjectId = "1577"; BVUIContent _bvOutput = new BVManagedUIContent(_bvConfig); String sBvOutputSummary = _bvOutput.getReviews(_bvParam); Console.WriteLine(sBvOutputSummary); Assert.AreEqual <Boolean>(sBvOutputSummary.Contains("<li data-bvseo=\"sdk\">"), true, "There should be footer"); Assert.AreEqual <Boolean>(sBvOutputSummary.Contains("BVRRReviewsSoiSectionID"), false, "There should not be any reviews"); }
public void TestSEOContent_SinglePageHTTP_Aggregate_WithoutPagination() { BVConfiguration _bvConfig = new BVSdkConfiguration(); _bvConfig.addProperty(BVClientConfig.SEO_SDK_ENABLED, "true"); _bvConfig.addProperty(BVClientConfig.LOAD_SEO_FILES_LOCALLY, "false"); _bvConfig.addProperty(BVClientConfig.CLOUD_KEY, "totalgymdirect-f19e9cfeb9917d0c20afdfbe06483f1b"); _bvConfig.addProperty(BVClientConfig.STAGING, "true"); _bvConfig.addProperty(BVClientConfig.BV_ROOT_FOLDER, "Main_Site-en_US"); _bvConfig.addProperty(BVClientConfig.EXECUTION_TIMEOUT, "300000"); BVParameters _bvParam = new BVParameters(); _bvParam.UserAgent = "google"; _bvParam.BaseURI = "http://localhost:8080/thispage.htm"; _bvParam.PageURI = "http://localhost:8080/abcd" + "?" + "notSure=1&letSee=2"; _bvParam.ContentType = new BVContentType(BVContentType.REVIEWS); _bvParam.SubjectType = new BVSubjectType(BVSubjectType.PRODUCT); _bvParam.SubjectId = "PRTG2000"; BVUIContent _bvOutput = new BVManagedUIContent(_bvConfig); String sBvOutputSummary = _bvOutput.getAggregateRating(_bvParam); Console.WriteLine(sBvOutputSummary); Assert.AreEqual <Boolean>(sBvOutputSummary.Contains("<!--begin-aggregate-rating-->"), true, "there should be AggregateRating in the content"); Assert.AreEqual <Boolean>(!sBvOutputSummary.Contains("itemprop=\"review\" itemscope itemtype=\"http://schema.org/Review\""), true, "there should not be reviews section in the content"); }
public void TestSEOContent_SinglePageHTTP_AggregateRating_IfNotPresent() { BVConfiguration _bvConfig = new BVSdkConfiguration(); _bvConfig.addProperty(BVClientConfig.SEO_SDK_ENABLED, "true"); _bvConfig.addProperty(BVClientConfig.LOAD_SEO_FILES_LOCALLY, "false"); _bvConfig.addProperty(BVClientConfig.CLOUD_KEY, "seo_sdk_testcase-159b6108bb11967e554a92c6a3c39cb3"); _bvConfig.addProperty(BVClientConfig.STAGING, "false"); _bvConfig.addProperty(BVClientConfig.BV_ROOT_FOLDER, "Main_Site-en_US"); _bvConfig.addProperty(BVClientConfig.EXECUTION_TIMEOUT, "300000"); BVParameters _bvParam = new BVParameters(); _bvParam.UserAgent = "google"; _bvParam.BaseURI = "http://localhost:8080/thispage.htm"; _bvParam.PageURI = "http://localhost:8080/abcd" + "?" + "notSure=1&letSee=2"; _bvParam.ContentType = new BVContentType(BVContentType.REVIEWS); _bvParam.SubjectType = new BVSubjectType(BVSubjectType.PRODUCT); _bvParam.SubjectId = "5000002_No_Aggr_Rating"; BVUIContent _bvOutput = new BVManagedUIContent(_bvConfig); Console.WriteLine(_bvOutput); String sBvOutputSummary = _bvOutput.getAggregateRating(_bvParam); Console.WriteLine(sBvOutputSummary); Assert.AreEqual <Boolean>(!sBvOutputSummary.Contains("itemprop=\"aggregateRating\" itemscope itemtype=\"http://schema.org/AggregateRating\""), true, "there should not be AggregateRating in the content"); Assert.AreEqual <Boolean>(!sBvOutputSummary.Contains("itemprop=\"review\" itemscope itemtype=\"http://schema.org/Review\""), true, "there should not be reviews section in the content"); String expectedMessage = BVMessageUtil.getMessage("ERR0012"); Assert.AreEqual <Boolean>(sBvOutputSummary.Contains(expectedMessage), true, "Message does not contain expected message please test"); }
public void Test_PageNumber_C2013() { BVConfiguration bvConfiguration = new BVSdkConfiguration(); bvConfiguration.addProperty(BVClientConfig.BV_ROOT_FOLDER, "Main_Site-en_US"); bvConfiguration.addProperty(BVClientConfig.CLOUD_KEY, "agileville-78B2EF7DE83644CAB5F8C72F2D8C8491"); bvConfiguration.addProperty(BVClientConfig.LOAD_SEO_FILES_LOCALLY, "false"); bvConfiguration.addProperty(BVClientConfig.SEO_SDK_ENABLED, "true"); bvConfiguration.addProperty(BVClientConfig.STAGING, "true"); BVUIContent bvUIContent = new BVManagedUIContent(bvConfiguration); BVParameters bvParameters = new BVParameters(); bvParameters.UserAgent = "google"; bvParameters.SubjectType = new BVSubjectType(BVSubjectType.PRODUCT); bvParameters.PageNumber = "2"; bvParameters.BaseURI = "http://www.example.com/store/products/reviews"; bvParameters.PageURI = "http://www.example.com/store/products/data-gen-696yl2lg1kurmqxn88fqif5y2/?utm_campaign=bazaarvoice&utm_medium=SearchVoice&utm_source=RatingsAndReviews&utm_content=Default&bvpage=pg3/ctre/stp/iddata-gen-5zkafmln4wymhcfbp5u6hmv5q&bvreveal=debug"; String content = bvUIContent.getContent(bvParameters); Assert.IsTrue( content.Contains("http://seo-stg.bazaarvoice.com/agileville-78B2EF7DE83644CAB5F8C72F2D8C8491/" + "Main_Site-en_US/reviews/product/2/data-gen-5zkafmln4wymhcfbp5u6hmv5q.htm"), "URL should be valid url"); Assert.IsTrue(!content.Contains("The resource to the URL or file is currently unavailable"), "resource not found or unavailable message should not be there"); Debug.WriteLine(content); }
public void TestDisplayFooter_Debug() { BVConfiguration bvConfiguration = new BVSdkConfiguration(); bvConfiguration.addProperty(BVClientConfig.LOAD_SEO_FILES_LOCALLY, "true"); BVParameters bvParameters = new BVParameters(); bvParameters.PageURI = "http://localhost:8080/Sample/Example-1.jsp?bvreveal=debug"; bvParameters.SubjectType = new BVSubjectType(BVSubjectType.PRODUCT); BVSeoSdkUrl _bvSeoSdkUrl = new BVSeoSdkURLBuilder(bvConfiguration, bvParameters); BVFooter bvFooter = new BVHTMLFooter(bvConfiguration, bvParameters); bvFooter.setBvSeoSdkUrl(_bvSeoSdkUrl); String displayFooter = bvFooter.displayFooter("getContent"); Console.WriteLine(displayFooter); Assert.AreEqual <Boolean>(displayFooter.Contains("LOCAL"), true, "the content string should match."); Assert.AreEqual <Boolean>(displayFooter.Contains("REVIEWS"), true, "the content string should match."); Assert.AreEqual <Boolean>(displayFooter.Contains("PRODUCT"), true, "the content string should match."); Assert.AreEqual <Boolean>(displayFooter.Contains("<li data-bvseo=\"loadSEOFilesLocally\">true</li>"), true, "the content string should match."); Assert.AreEqual <Boolean>(displayFooter.Contains("<li data-bvseo=\"productionS3Hostname\">seo.bazaarvoice.com</li>"), true, "seo.bazaarvoice.com should be present."); }
public BVSdkConfiguration GetConfiguration(string cloudKey, string rootFolder, string useStaging = "true") { BVSdkConfiguration config = new BVSdkConfiguration(); config.addProperty(BVClientConfig.CLOUD_KEY, cloudKey); config.addProperty(BVClientConfig.BV_ROOT_FOLDER, rootFolder); config.addProperty(BVClientConfig.STAGING, useStaging); return(config); }
public void TestBVCoreConfig() { BVConfiguration configuration = new BVSdkConfiguration(); String hostName = configuration.getProperty(BVCoreConfig.PRODUCTION_S3_HOSTNAME); Assert.AreEqual <string>(hostName, "seo.bazaarvoice.com", "production hostname has been changed please fix."); hostName = configuration.getProperty(BVCoreConfig.STAGING_S3_HOSTNAME); Assert.AreEqual <string>(hostName, "seo-stg.bazaarvoice.com", "staging hostname has been changed please fix."); }
protected void Page_Load(object sender, EventArgs e) { Helper helper = new Helper(Page.Request); BVSdkConfiguration config = helper.GetConfiguration("myshco-3e3001e88d9c32d19a17cafacb81bec7", "9344"); BVParameters bvParams = helper.GetParams("5000001", "p", "sy", "storiesgrid"); BVManagedUIContent uiContent = new BVManagedUIContent(config); string content = uiContent.getContent(bvParams); bvrrContentContainer.InnerHtml = content; }
private static BVConfiguration GetCommonConfig() { var config = new BVSdkConfiguration(); config.addProperty(BVClientConfig.LOAD_SEO_FILES_LOCALLY, "false"); config.addProperty(BVClientConfig.CLOUD_KEY, CloudKey); config.addProperty(BVClientConfig.BV_ROOT_FOLDER, BvRootFolder); config.addProperty(BVClientConfig.STAGING, "true"); return(config); }
protected void Page_Load(object sender, EventArgs e) { Helper helper = new Helper(Page.Request); BVSdkConfiguration config = helper.GetConfiguration("myshco-69cb945801532dcfb57ad2b0d2471b68", "Main_Site-en_US"); BVParameters bvParams = helper.GetParams("5000001", "p", "rp"); BVManagedUIContent uiContent = new BVManagedUIContent(config); string content = uiContent.getContent(bvParams); bvrrContentContainer.InnerHtml = content; }
protected void Page_Load(object sender, EventArgs e) { Helper helper = new Helper(Page.Request); BVSdkConfiguration config = helper.GetConfiguration("myshco-126b543c32d9079f120a575ece25bad6", "9344ia"); BVParameters bvParams = helper.GetParams("Retail", "c", "qp"); BVManagedUIContent uiContent = new BVManagedUIContent(config); string content = uiContent.getContent(bvParams); bvrrContentContainer.InnerHtml = content; }
public void TestBVConfigLoading() { BVConfiguration bvConfiguration = new BVSdkConfiguration(); String stagingS3Hostname = bvConfiguration.getProperty("stagingS3Hostname"); Assert.AreEqual <string>(stagingS3Hostname, "seo-stg.bazaarvoice.com", "stagingS3Hostname are different."); String productionS3Hostname = bvConfiguration.getProperty("productionS3Hostname"); Assert.AreEqual <string>(productionS3Hostname, "seo.bazaarvoice.com", "productionS3Hostname are different."); }
public void BVManagedUIContent4_TestInitialize() { BVConfiguration _bvConfiguration = new BVSdkConfiguration(); _bvConfiguration.addProperty(BVClientConfig.BV_ROOT_FOLDER, DISPLAY_CODE); _bvConfiguration.addProperty(BVClientConfig.CLOUD_KEY, CLOUD_KEY); _bvConfiguration.addProperty(BVClientConfig.LOAD_SEO_FILES_LOCALLY, "false"); _bvConfiguration.addProperty(BVClientConfig.SEO_SDK_ENABLED, "true"); _bvConfiguration.addProperty(BVClientConfig.STAGING, "true"); _bvConfiguration.addProperty(BVClientConfig.EXECUTION_TIMEOUT, "300000"); _bvUIContent = new BVManagedUIContent(_bvConfiguration); }
protected void Page_Load(object sender, EventArgs e) { Helper helper = new Helper(Page.Request); BVSdkConfiguration config = helper.GetConfiguration("myshco-3e3001e88d9c32d19a17cafacb81bec7", "9344"); BVParameters bvParams = helper.GetParams("5000001", "p", "re"); BVManagedUIContent uiContent = new BVManagedUIContent(config); string summary = uiContent.getAggregateRating(bvParams); string reviews = uiContent.getReviews(bvParams); string content = uiContent.getContent(bvParams); bvrrSummaryContainer.InnerHtml = summary; bvrrReviewsContainer.InnerHtml = reviews; bvrrContentContainer.InnerHtml = content; }
public void TestDisplayFooter_URL_Debug_bvstate() { BVConfiguration bvConfiguration = new BVSdkConfiguration(); bvConfiguration.addProperty(BVClientConfig.LOAD_SEO_FILES_LOCALLY, "false"); BVParameters bvParameters = new BVParameters(); bvParameters.PageURI = "http://localhost:8080/Sample/Example-1.jsp?bvstate=ct:r/id:id2/reveal:debug"; bvParameters.SubjectType = new BVSubjectType(BVSubjectType.PRODUCT); bvParameters.ContentType = new BVContentType(BVContentType.REVIEWS); bvParameters.SubjectId = "id1"; BVSeoSdkUrl _bvSeoSdkUrl = new BVSeoSdkURLBuilder(bvConfiguration, bvParameters); BVFooter bvFooter = new BVHTMLFooter(bvConfiguration, bvParameters); bvFooter.setBvSeoSdkUrl(_bvSeoSdkUrl); String displayFooter = bvFooter.displayFooter("getContent"); Assert.AreEqual <Boolean>(displayFooter.Contains("CLOUD"), true, "the content string should match."); Assert.AreEqual <Boolean>(displayFooter.Contains("REVIEWS"), true, "the content string should match."); Assert.AreEqual <Boolean>(displayFooter.Contains("PRODUCT"), true, "the content string should match."); Assert.AreEqual <Boolean>(displayFooter.Contains("<li data-bvseo=\"contentURL\">http://seo.bazaarvoice.com"), true, "the content string should match."); Assert.AreEqual <Boolean>(displayFooter.Contains("<li data-bvseo=\"subjectId\">id2"), true, "the subjectId should match."); /** When loading from files it should not display URL. **/ bvConfiguration = new BVSdkConfiguration(); bvConfiguration.addProperty(BVClientConfig.LOAD_SEO_FILES_LOCALLY, "true"); bvParameters = new BVParameters(); bvParameters.PageURI = "http://localhost:8080/Sample/Example-1.jsp?bvstate=ct:r/id:id2/reveal:debug"; bvParameters.SubjectType = new BVSubjectType(BVSubjectType.PRODUCT); bvParameters.ContentType = new BVContentType(BVContentType.REVIEWS); bvParameters.SubjectId = "id1"; _bvSeoSdkUrl = new BVSeoSdkURLBuilder(bvConfiguration, bvParameters); bvFooter = new BVHTMLFooter(bvConfiguration, bvParameters); bvFooter.setBvSeoSdkUrl(_bvSeoSdkUrl); String contentUri = _bvSeoSdkUrl.seoContentUri().ToString(); displayFooter = bvFooter.displayFooter("getContent"); Console.WriteLine(displayFooter); Assert.AreEqual <Boolean>(displayFooter.Contains("LOCAL"), true, "the content string should match."); Assert.AreEqual <Boolean>(displayFooter.Contains("REVIEWS"), true, "the content string should match."); Assert.AreEqual <Boolean>(displayFooter.Contains("PRODUCT"), true, "the content string should match."); Assert.AreEqual <Boolean>(displayFooter.Contains("<li data-bvseo=\"contentURL\">http://seo.bazaarvoice.com"), false, "there should not be any url pattern."); Assert.AreEqual <Boolean>(displayFooter.Contains("<li data-bvseo=\"subjectId\">id2"), true, "the subjectId should match."); }
public void TestMultipleConfigurations() { BVConfiguration configurationInstance_1 = new BVSdkConfiguration(); configurationInstance_1.addProperty(BVClientConfig.BV_ROOT_FOLDER, "DEP_INST_1"); BVConfiguration configurationInstance_2 = new BVSdkConfiguration(); configurationInstance_2.addProperty(BVClientConfig.BV_ROOT_FOLDER, "DEP_INST_2"); String deploymentInstance_1 = configurationInstance_1.getProperty(BVClientConfig.BV_ROOT_FOLDER); String deploymentInstance_2 = configurationInstance_2.getProperty(BVClientConfig.BV_ROOT_FOLDER); Assert.AreEqual <Boolean>(deploymentInstance_1.Equals(deploymentInstance_2, StringComparison.InvariantCultureIgnoreCase), false, "Instance configuration should not be same"); }
public void TestDisplayFooter() { BVConfiguration bvConfiguration = new BVSdkConfiguration(); BVParameters bvParameters = new BVParameters(); bvParameters.SubjectType = new BVSubjectType(BVSubjectType.PRODUCT); BVFooter bvFooter = new BVHTMLFooter(bvConfiguration, bvParameters); String displayFooter = bvFooter.displayFooter("getContent"); Console.WriteLine(displayFooter); Assert.AreEqual <Boolean>(displayFooter.Contains("CLOUD"), true, "the content string should match."); Assert.AreEqual <Boolean>(displayFooter.Contains("REVIEWS"), true, "the content string should match."); Assert.AreEqual <Boolean>(displayFooter.Contains("PRODUCT"), true, "the content string should match."); Assert.AreEqual <Boolean>(displayFooter.Contains("<li data-bvseo=seo.sdk.execution.timeout>"), false, "the content string should not match."); }
protected void Page_Load(object sender, EventArgs e) { Helper helper = new Helper(Page.Request); BVSdkConfiguration config = helper.GetConfiguration("myshco-126b543c32d9079f120a575ece25bad6", "9344ia"); BVParameters bvParams = helper.GetParams("5000001", "p", "sp"); BVManagedUIContent uiContent = new BVManagedUIContent(config); config.addProperty(BVClientConfig.EXECUTION_TIMEOUT, "12"); bvParams.UserAgent = "google"; bvParams.PageURI = Request.Url.ToString() + "?bvpage=ctsp/stp/pg2"; string summary = uiContent.getAggregateRating(bvParams); string reviews = uiContent.getReviews(bvParams); string content = uiContent.getContent(bvParams); bvrrSummaryContainer.InnerHtml = summary; bvrrReviewsContainer.InnerHtml = reviews; bvrrContentContainer.InnerHtml = content; }
public void TestSEOContent_SinglePageHTTP_AggregateRatingAndReviewsWithbvrevealDebug() { BVConfiguration _bvConfig = new BVSdkConfiguration(); _bvConfig.addProperty(BVClientConfig.SEO_SDK_ENABLED, "true"); _bvConfig.addProperty(BVClientConfig.LOAD_SEO_FILES_LOCALLY, "false"); _bvConfig.addProperty(BVClientConfig.CLOUD_KEY, "myshco-69cb945801532dcfb57ad2b0d2471b68"); _bvConfig.addProperty(BVClientConfig.STAGING, "true"); _bvConfig.addProperty(BVClientConfig.BV_ROOT_FOLDER, "Main_Site-en_US"); _bvConfig.addProperty(BVClientConfig.EXECUTION_TIMEOUT, "3000"); BVParameters _bvParam = new BVParameters(); _bvParam.UserAgent = "googlebot"; _bvParam.BaseURI = "http://localhost:8080/thispage.htm"; _bvParam.PageURI = "http://localhost:8080/abcd" + "?" + "bvreveal=debug¬Sure=1&letSee=2"; _bvParam.ContentType = new BVContentType(BVContentType.REVIEWS); _bvParam.SubjectType = new BVSubjectType(BVSubjectType.PRODUCT); _bvParam.SubjectId = "2000001"; BVUIContent _bvOutput = new BVManagedUIContent(_bvConfig); String sBvOutputSummary = _bvOutput.getAggregateRating(_bvParam); Assert.AreEqual <Boolean>(sBvOutputSummary.Contains("itemprop=\"aggregateRating\" itemscope itemtype=\"http://schema.org/AggregateRating\""), true, "there should be AggregateRating in the content"); Assert.AreEqual <Boolean>(!sBvOutputSummary.Contains("itemprop=\"review\" itemscope itemtype=\"http://schema.org/Review\""), true, "there should not be reviews section in the content"); Assert.AreEqual <Boolean>(sBvOutputSummary.Contains("contentURL"), true, "there should be contentURL in the content"); String sBvOutputReviews = _bvOutput.getReviews(_bvParam); Assert.AreEqual <Boolean>(sBvOutputReviews.Contains("itemprop=\"review\" itemscope itemtype=\"http://schema.org/Review\""), true, "there should be reviews section in the content"); Assert.AreEqual <Boolean>(!sBvOutputReviews.Contains("itemprop=\"aggregateRating\" itemscope itemtype=\"http://schema.org/AggregateRating\""), true, "there should not be AggregateRating in the content"); Assert.AreEqual <Boolean>(sBvOutputSummary.Contains("contentURL"), true, "there should be contentURL in the content"); }
public void TestSEOContentFromFile_SinglePageC2013() { BVConfiguration bvConfig = new BVSdkConfiguration(); bvConfig.addProperty(BVClientConfig.LOAD_SEO_FILES_LOCALLY, "True"); bvConfig.addProperty(BVClientConfig.LOCAL_SEO_FILE_ROOT, @"C:\Test\seo_local_files\myshco-359c29d8a8cbe3822bc0d7c58cb9f9ca"); bvConfig.addProperty(BVClientConfig.CLOUD_KEY, "myshco-359c29d8a8cbe3822bc0d7c58cb9f9ca"); bvConfig.addProperty(BVClientConfig.BV_ROOT_FOLDER, "9344seob"); bvConfig.addProperty(BVClientConfig.EXECUTION_TIMEOUT, "300000"); BVUIContent uiContent = new BVManagedUIContent(bvConfig); BVParameters bvParameters = new BVParameters(); bvParameters.UserAgent = "FireFox"; bvParameters.PageURI = "http://localhost:8080/sample/someproduct.jsp?bvpage=ctre/id3000001/stp"; String theUIContent = uiContent.getContent(bvParameters); Console.WriteLine(theUIContent); Assert.AreEqual <Boolean>(theUIContent.Contains("BVRRSourceID"), true, "there should be BvRRSourceID in the content"); }
public void BVManagedUIContentTestPagination() { //Establish a new BVConfiguration. Properties within this configuration are typically set in bvconfig.properties. //addProperty can be used to override configurations set in bvconfig.properties. BVConfiguration _bvConfig = new BVSdkConfiguration(); _bvConfig.addProperty(BVClientConfig.SEO_SDK_ENABLED, "true"); // use this as a kill switch //this SDK supports retrieval of SEO contents from the cloud or local file system _bvConfig.addProperty(BVClientConfig.LOAD_SEO_FILES_LOCALLY, "false"); // set to false if using cloud-based content _bvConfig.addProperty(BVClientConfig.LOCAL_SEO_FILE_ROOT, "/"); //if LOAD_SEO_FILES_LOCALLY = false, configure CLOUD_KEY and STAGING _bvConfig.addProperty(BVClientConfig.CLOUD_KEY, "totalgymdirect-f19e9cfeb9917d0c20afdfbe06483f1b"); // get this value from BV _bvConfig.addProperty(BVClientConfig.STAGING, "false"); // set to true for staging environment data _bvConfig.addProperty(BVClientConfig.CRAWLER_AGENT_PATTERN, "yandex"); //insert root folder with the value provided. //if multiple deployment zones/display codes are used for this implementation, use conditional logic to set the appropriate BV_ROOT_FOLDER _bvConfig.addProperty(BVClientConfig.BV_ROOT_FOLDER, "Main_Site-en_US"); //get this value from BV _bvConfig.addProperty(BVClientConfig.EXECUTION_TIMEOUT, "300000"); //Create BVParameters for each injection. If the page contains multiple injections, for example //reviews and questions, set unique parameters for each injection. BVParameters _bvParam = new BVParameters(); _bvParam.UserAgent = "yandex"; _bvParam.BaseURI = "http://localhost:8080/Sample/Example-Adobe.jsp"; // this value is pagination links _bvParam.PageURI = "http://localhost:8080/Sample/Example-Adobe.jsp?bvrrp=8814/reviews/product/4/PR6.htm&bvreveal=debug"; //this should be the current page, full URL _bvParam.ContentType = new BVContentType(BVContentType.REVIEWS); _bvParam.SubjectType = new BVSubjectType(BVSubjectType.PRODUCT); _bvParam.SubjectId = "PRTG2000"; BVUIContent _bvOutput = new BVManagedUIContent(_bvConfig); String sBvOutputReviews = _bvOutput.getContent(_bvParam); //String sBvOutputSummary = _bvOutput.getAggregateRating(_bvParam); Console.WriteLine(sBvOutputReviews); Assert.AreEqual <Boolean>(sBvOutputReviews.Contains("bvseo-4"), true, "there should be BVRRSelectedPageNumber as 4 in the content"); }
public void TestSEOContent_SinglePageHTTP_AggregateRating_BotDetected() { BVConfiguration _bvConfig = new BVSdkConfiguration(); _bvConfig.addProperty(BVClientConfig.SEO_SDK_ENABLED, "true"); _bvConfig.addProperty(BVClientConfig.LOAD_SEO_FILES_LOCALLY, "false"); _bvConfig.addProperty(BVClientConfig.CLOUD_KEY, "myshco-69cb945801532dcfb57ad2b0d2471b68"); _bvConfig.addProperty(BVClientConfig.STAGING, "true"); _bvConfig.addProperty(BVClientConfig.BV_ROOT_FOLDER, "Main_Site-en_US"); _bvConfig.addProperty(BVClientConfig.EXECUTION_TIMEOUT, "1"); _bvConfig.addProperty(BVClientConfig.EXECUTION_TIMEOUT_BOT, "10000"); BVParameters _bvParam = new BVParameters(); //_bvParam.UserAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/536.29.13 (KHTML, like Gecko) Version/6.0.4 Safari/536.29.13"; _bvParam.UserAgent = "google"; _bvParam.BaseURI = "http://localhost:8080/thispage.htm"; _bvParam.PageURI = "http://localhost:8080/abcd" + "?" + "notSure=1&letSee=2"; _bvParam.ContentType = new BVContentType(BVContentType.REVIEWS); _bvParam.SubjectType = new BVSubjectType(BVSubjectType.PRODUCT); _bvParam.SubjectId = "2000002"; BVUIContent _bvOutput = new BVManagedUIContent(_bvConfig); String sBvOutputSummary = _bvOutput.getAggregateRating(_bvParam); Assert.AreEqual <Boolean>(sBvOutputSummary.Contains("itemprop=\"aggregateRating\" itemscope itemtype=\"http://schema.org/AggregateRating\""), true, "there should be AggregateRating in the content"); Assert.AreEqual <Boolean>(!sBvOutputSummary.Contains("itemprop=\"review\" itemscope itemtype=\"http://schema.org/Review\""), true, "there should not be reviews section in the content"); String sBvOutputReviews = _bvOutput.getReviews(_bvParam); Assert.AreEqual <Boolean>(sBvOutputReviews.Contains("itemprop=\"review\" itemscope itemtype=\"http://schema.org/Review\""), true, "there should be reviews section in the content"); Assert.AreEqual <Boolean>(!sBvOutputReviews.Contains("itemprop=\"aggregateRating\" itemscope itemtype=\"http://schema.org/AggregateRating\""), true, "there should not be AggregateRating in the content"); }
public void estExecutionTimeout_ZeroTest() { BVConfiguration bvConfig = new BVSdkConfiguration(); bvConfig.addProperty(BVClientConfig.LOAD_SEO_FILES_LOCALLY, "false"); bvConfig.addProperty(BVClientConfig.STAGING, "true"); bvConfig.addProperty(BVClientConfig.CLOUD_KEY, "agileville-78B2EF7DE83644CAB5F8C72F2D8C8491"); bvConfig.addProperty(BVClientConfig.BV_ROOT_FOLDER, "Main_Site-en_US"); bvConfig.addProperty(BVClientConfig.EXECUTION_TIMEOUT, "0"); BVUIContent uiContent = new BVManagedUIContent(bvConfig); BVParameters bvParameters = new BVParameters(); bvParameters.UserAgent = "NORMAL_USER OR Browser userAgent"; bvParameters.ContentType = new BVContentType(BVContentType.REVIEWS); bvParameters.SubjectType = new BVSubjectType(BVSubjectType.PRODUCT); bvParameters.SubjectId = "data-gen-7k694zcnd6gbnpv2v4e6mmd22"; String theUiContent = uiContent.getContent(bvParameters); Assert.IsTrue(theUiContent.Contains("getContent"), "there should be getContent word/message"); Assert.IsTrue(theUiContent.Contains("bvseo-msg: EXECUTION_TIMEOUT is set to 0 ms; JavaScript-only Display."), "there should be execution timeout message"); uiContent = new BVManagedUIContent(bvConfig); theUiContent = uiContent.getReviews(bvParameters); Assert.IsTrue(theUiContent.Contains("getReviews"), "there should be getReviews word/message"); Assert.IsTrue(theUiContent.Contains("bvseo-msg: EXECUTION_TIMEOUT is set to 0 ms; JavaScript-only Display."), "there should be execution timeout message"); uiContent = new BVManagedUIContent(bvConfig); theUiContent = uiContent.getAggregateRating(bvParameters); Debug.WriteLine(theUiContent); Assert.IsTrue(theUiContent.Contains("getAggregateRating"), "there should be getAggregateRating word/message"); Assert.IsTrue(theUiContent.Contains("bvseo-msg: EXECUTION_TIMEOUT is set to 0 ms; JavaScript-only Display."), "there should be execution timeout message"); }
public void TestSEOContentFrom_Using_HTTPS() { BVConfiguration bvConfig = new BVSdkConfiguration(); bvConfig.addProperty(BVClientConfig.SSL_ENABLED, "true"); bvConfig.addProperty(BVClientConfig.CLOUD_KEY, "myshco-69cb945801532dcfb57ad2b0d2471b68"); bvConfig.addProperty(BVClientConfig.BV_ROOT_FOLDER, "Main_Site-en_US"); bvConfig.addProperty(BVClientConfig.EXECUTION_TIMEOUT, "6000"); bvConfig.addProperty(BVClientConfig.STAGING, "true"); BVUIContent uiContent = new BVManagedUIContent(bvConfig); BVParameters bvParameters = new BVParameters(); bvParameters.UserAgent = "google"; bvParameters.ContentType = new BVContentType(BVContentType.REVIEWS); bvParameters.SubjectType = new BVSubjectType(BVSubjectType.PRODUCT); bvParameters.SubjectId = "12345"; bvParameters.PageURI = "http://localhost:8080/sample/xyz.jsp"; String theUIContent = uiContent.getContent(bvParameters); Assert.AreEqual <Boolean>(theUIContent.Contains("bvseo-reviewsSection"), true, "there should be bvseo-reviewsSection in the content"); }