public void TestFetchAndStoreDefaultSchema() { // Get Default schema var getSchemaResult = Client.GetSearchSchema("_yz_default"); Assert.True(getSchemaResult.IsSuccess, getSchemaResult.ErrorMessage); var defaultSchema = getSchemaResult.Value; defaultSchema.Name.ShouldNotBeNull(); defaultSchema.Content.ShouldNotBeNull(); // Store as new schema var newSchemaName = "test_schema" + Random.Next(); const string randomComment = "<!-- Random Comment -->"; var newSchemaContent = defaultSchema.Content + randomComment; var newSchema = new SearchSchema(newSchemaName, newSchemaContent); var putSchemaResult = Client.PutSearchSchema(newSchema); putSchemaResult.IsSuccess.ShouldBeTrue(putSchemaResult.ErrorMessage); // Fetch new schema and compare var getSchemaResult2 = Client.GetSearchSchema(newSchemaName); var fetchedNewSchema = getSchemaResult2.Value; Assert.AreEqual(newSchemaName, fetchedNewSchema.Name); Assert.AreNotEqual(defaultSchema.Content, fetchedNewSchema.Content); // Should differ by the added comment Assert.AreEqual(newSchemaContent, fetchedNewSchema.Content); Assert.IsTrue(fetchedNewSchema.Content.Contains(randomComment)); }
public void SetUpFixture() { if (!File.Exists(blogPostSchemaFileName)) { Console.WriteLine("Writing {0} in {1}", blogPostSchemaFileName, Environment.CurrentDirectory); var req = WebRequest.Create(blogPostSchema); var rsp = req.GetResponse(); var stream = rsp.GetResponseStream(); string line = string.Empty; using (var writer = new StreamWriter(blogPostSchemaFileName)) { using (var rdr = new StreamReader(stream)) { while ((line = rdr.ReadLine()) != null) { writer.WriteLine(line); } } } } base.CreateClient(); var getSchemaResult = client.GetSearchSchema("blog_post_schema"); if (!getSchemaResult.IsSuccess) { var schemaXml = File.ReadAllText(blogPostSchemaFileName); var schema = new SearchSchema(blogPostSchemaName, schemaXml); var rslt = client.PutSearchSchema(schema); CheckResult(rslt); WaitForSearch(); var idx = new SearchIndex("blog_posts", "blog_post_schema"); rslt = client.PutSearchIndex(idx); CheckResult(rslt); } }