1The Official Couchbase .NET SDK ![](http://sdk.jenkins.couchbase.com/job/dotnet/job/couchbase-net-client-scripted-build-pipeline/badge/icon)
2[![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)
4* master is 3.0 development branch
5* release27 is 2.7.X development branch
6* release13 is 1.3.X development branch
8## Getting Started
10To 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).
12## Running Tests
14We maintain a collection of both unit and integration test projects.
16### Unit Tests
18Couchbase.UnitTests contains environment independent tests and do not require a local cluster to run.
20### Running the Integration Tests ##
22Couchbase.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:
24Couchbase Server 4.0+
251. The "beer-sample" and "travel-sample" sample buckets installed. They can be installed by logging into the Couchbase Console and then Settings->Sample Buckets.
262. Create the following buckets:
27	1. "default" - a Couchbase bucket with no password
28	2. "authenticated" - a Couchbase bucket with a password of "secret"
29	3. "memcached" - a Memcached bucket with no password
303. Install an SSL certificate (copied from the Couchbase console Security->Root Certificate)
314. 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>)
325. Add an FTS index to the `travel-sample` bucket called `idx-travel`
336. Update config.json with the hostname of your Couchbase Server IP and set enhancedAuth to `false`
347. Update app.config's hostname and *basic* Couchbase client section with the Couchbase Server IP
36Couchbase Server 5.0+ - In addition to the steps above:
371. "ephemeral" - an Ephemeral bucket
382. Update config.json enhancedAuth to `true`
393. A user called `authenticated` with a password of `secret`
41NOTE: 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.
43## Pull Requests and Submissions ##
44Being 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.
46Once 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.
48<img src="https://d3nmt5vlzunoa1.cloudfront.net/dotnet/files/2016/08/ReSharper2016_2_2_512x197.png" height="100"></img>