I ran the .net unit tests against the latest code of couchbase-net-client and cluster version 2.0.0-1976
My cluster config comprise of the following nodes:
Some of the tests are failing, mostly are related to views. Please find the observations and their possible causes:
1. CouchbaseAuthenticatedViewTests\When_Bucket_Is_Authenticated_View_Returns_Results :
First the test was failing because there was no document getting created in "authenticated" bucket. Supposedly the code was creating the default client object in method CouchbaseClientFactory.CreateCouchbaseClient(), where the bucket name is default. So I changed it the initialization statement to :
_client = new CouchbaseClient("authenticated","secret");
Again running the test, now the documents are getting created for "authenticated" bucket but no views. Infact the test report is:
System.Net.WebException : The remote server returned an error: (404) Not Found.
Test fails with the error:
But was: 00:01:00
In method Couchbase\Configuration\ServersElement.cs -> HttpRequestTimeout(), the following attribute is set:
[ConfigurationProperty("httpRequestTimeout", IsRequired = false, DefaultValue = "00:01:00"), PositiveTimeSpanValidator]
DefaultValue set is 00:01:00, in test we compare the result with 00:00:20, hence the failure.
The DefaultValue in attribute needs to be changed.
3. CouchbaseClusterBucketAdminTests\When_Getting_Cluster_Item_Count_Count_Matches_Interesting_Stats and When_Getting_Bucket_Item_Count_Count_Matches_Basic_Stats:
Error: System.Net.WebException : The remote server returned an error: (404) Not Found.
ErrorSource: This test would run find if we provide the username and password for the cluster. The Http response object returns an error because it is not able to connect to the clusterm possibly error in ConfigurationManager.GetSection(configSectionName) which does not return "couchbase" config section
The exception message text was incorrect
Expected message containing: Quota.RAM
but was: RamQuotaMB must be at least 100
Solution is to change the expected message in test attribute
This would run fine if we run on cluster with only one server node.