1fe158bfaSMike GoldsmithThe Official Couchbase .NET SDK ![](http://sdk.jenkins.couchbase.com/job/dotnet/job/couchbase-net-client-scripted-build-pipeline/badge/icon)
29ad424a1SMike Goldsmith[![Join the chat at https://gitter.im/couchbase/discuss](https://badges.gitter.im/couchbase/discuss.svg)](https://gitter.im/couchbase/discuss?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
369c667cbSJeffry Morris
443cf091cSMike Goldsmith* master is 3.0 development branch
543cf091cSMike Goldsmith* release27 is 2.7.X development branch
6ff8d3e40Sjeffrymorris* release13 is 1.3.X development branch
7bd5e9dcaSjeffrymorris
8f40cb135SMike Goldsmith## Getting Started
97ace534eSjeffrymorris
107ace534eSjeffrymorrisTo get up and running with the SDK, please visit the [online documentation](http://developer.couchbase.com/documentation/server/4.5/sdk/dotnet/start-using-sdk.html).
117ace534eSjeffrymorris
12f40cb135SMike Goldsmith## Running Tests
13bd5e9dcaSjeffrymorris
14021b48f0SMike GoldsmithWe maintain a collection of both unit and integration test projects.
15bd5e9dcaSjeffrymorris
16f40cb135SMike Goldsmith### Unit Tests
17bd5e9dcaSjeffrymorris
18021b48f0SMike GoldsmithCouchbase.UnitTests contains environment independent tests and do not require a local cluster to run.
19f40cb135SMike Goldsmith
20f40cb135SMike Goldsmith### Running the Integration Tests ##
21f40cb135SMike Goldsmith
22021b48f0SMike GoldsmithCouchbase.IntegrationTests contains tests that are run against a real Couchbase Server and has different requirements depending on what server version you are running them against:
23f40cb135SMike Goldsmith
24021b48f0SMike GoldsmithCouchbase Server 4.0+
25021b48f0SMike Goldsmith1. The "beer-sample" and "travel-sample" sample buckets installed. They can be installed by logging into the Couchbase Console and then Settings->Sample Buckets.
26021b48f0SMike Goldsmith2. Create the following buckets:
27021b48f0SMike Goldsmith	1. "default" - a Couchbase bucket with no password
28bd5e9dcaSjeffrymorris	2. "authenticated" - a Couchbase bucket with a password of "secret"
29bd5e9dcaSjeffrymorris	3. "memcached" - a Memcached bucket with no password
30021b48f0SMike Goldsmith3. Install an SSL certificate (copied from the Couchbase console Security->Root Certificate)
31021b48f0SMike Goldsmith4. A default primary index configured on the following buckets: `default`, `authenticated`, `beer-sample` and `travel-sample` (eg <code>create primary index on &#96;default&#96;</code>)
32021b48f0SMike Goldsmith5. Add an FTS index to the `travel-sample` bucket called `idx-travel`
33021b48f0SMike Goldsmith6. Update config.json with the hostname of your Couchbase Server IP and set enhancedAuth to `false`
34021b48f0SMike Goldsmith7. Update app.config's hostname and *basic* Couchbase client section with the Couchbase Server IP
35021b48f0SMike Goldsmith
36021b48f0SMike GoldsmithCouchbase Server 5.0+ - In addition to the steps above:
37021b48f0SMike Goldsmith1. "ephemeral" - an Ephemeral bucket
38021b48f0SMike Goldsmith2. Update config.json enhancedAuth to `true`
39021b48f0SMike Goldsmith3. A user called `authenticated` with a password of `secret`
40021b48f0SMike Goldsmith
41021b48f0SMike GoldsmithNOTE: Couchbase Server 5.0+ uses Role-Based Access Control (RBAC) for authentication. This supersedes configuring bucket passwords with discrete users with their own passwords and offers much more granular control.
42bd5e9dcaSjeffrymorris
43bd5e9dcaSjeffrymorris## Pull Requests and Submissions ##
4452428695SChristopher LupoBeing an Open Source project, the Couchbase SDK depends upon feedback and submissions from the community. If you feel as if you want to submit a bug fix or a feature, please post a Pull Request. The Pull Request will go through a formal code review process and merged after being +2'd by a Couchbase Engineer. In order to accept a submission, Couchbase requires that all contributors sign the Contributor License Agreement (CLA). You can do this by creating an account in [Gerrit](http://review.couchbase.org), our official Code Review system. After you have created your account, login and check the CLA checkbox.
45bd5e9dcaSjeffrymorris
46bd5e9dcaSjeffrymorrisOnce the CLA is signed, a Couchbase engineer will push the pull request to Gerrit and one or more Couchbase engineers will review the submission. If it looks good they will then +2 the changeset and merge it with master. In addition, if the submission needs more work, you will need to amend the Changeset with another Patchset. Note that is strongly encouraged to submit a Unit Test with each submission and also include a description of the submission, what changed and what the result is.
4763c2d0f8Sjeffrymorris
4863c2d0f8Sjeffrymorris<img src="https://d3nmt5vlzunoa1.cloudfront.net/dotnet/files/2016/08/ReSharper2016_2_2_512x197.png" height="100"></img>
49