open-consul/api
Frank Schroeder 9435cadeee
test: Refactor WaitForResult tests with retry
Refactor tests that use testutil.WaitForResult to use retry.

Since this requires refactoring the test functions in general this patch
also shows the use of the github.com/pascaldekloe/goe/verify library
which provides a good mechanism for comparing nested data structures.
Instead of just converting the tests from testutil.WaitForResult to
retry the tests that performing a nested comparison of data structures
are converted to the verify library at the same time.
2017-05-05 17:07:02 +02:00
..
README.md Use HTTPS + www. where appropriate 2016-01-13 17:44:01 -05:00
acl.go Tweaks ACL replication struct name. 2017-04-25 16:32:09 -07:00
acl_test.go API: Add ACLReplication 2017-04-25 00:39:50 +03:00
agent.go API: Add struct fields, fixes #2882 2017-04-13 11:36:19 -04:00
agent_test.go Tweaks the agent leave test to patch an occasional local failure. 2017-03-22 09:56:53 -07:00
api.go golint: Untangle if blocks with return in else 2017-04-25 09:26:13 -07:00
api_test.go Add separate option for verifying incoming HTTPS traffic (#2974) 2017-04-28 16:15:55 -07:00
catalog.go Add datacenter to catalog node API (#2917) 2017-04-18 05:02:24 -07:00
catalog_test.go test: Refactor WaitForResult tests with retry 2017-05-05 17:07:02 +02:00
coordinate.go Adds router into RPC paths with work in progress on coordinates. 2017-03-16 16:42:18 -07:00
coordinate_test.go test: Refactor WaitForResult tests with retry 2017-05-05 17:07:02 +02:00
event.go
event_test.go test: Refactor WaitForResult tests with retry 2017-05-05 17:07:02 +02:00
health.go api: Add ServiceTags to Health state endpoint (#153) 2017-04-28 15:00:08 -07:00
health_test.go test: Refactor WaitForResult tests with retry 2017-05-05 17:07:02 +02:00
kv.go Issue #2905: Add check-not-exists to TXN endpoint 2017-04-20 17:50:52 -07:00
kv_test.go Fix race condition in TestClient_WatchList and TestClient_WatchGet 2016-10-25 17:48:11 -07:00
lock.go golint: Untangle if blocks with return in else 2017-04-25 09:26:13 -07:00
lock_test.go More flaky unit test fixes (#2449) 2016-10-31 09:59:20 -07:00
operator.go Moves operator sub-functions into their own files. 2017-03-30 12:35:50 -07:00
operator_area.go Adds missing area API. 2017-03-21 23:11:15 -07:00
operator_autopilot.go Moves operator sub-functions into their own files. 2017-03-30 12:35:50 -07:00
operator_autopilot_test.go test: Refactor WaitForResult tests with retry 2017-05-05 17:07:02 +02:00
operator_keyring.go Moves operator sub-functions into their own files. 2017-03-30 12:35:50 -07:00
operator_keyring_test.go Moves operator sub-functions into their own files. 2017-03-30 12:35:50 -07:00
operator_raft.go Moves operator sub-functions into their own files. 2017-03-30 12:35:50 -07:00
operator_raft_test.go Moves operator sub-functions into their own files. 2017-03-30 12:35:50 -07:00
prepared_query.go Add tests for node meta in prepared queries and update docs 2017-01-23 19:17:30 -05:00
prepared_query_test.go test: Refactor WaitForResult tests with retry 2017-05-05 17:07:02 +02:00
raw.go
semaphore.go golint: Untangle if blocks with return in else 2017-04-25 09:26:13 -07:00
semaphore_test.go Makes the timeout behavior more intuitive. 2016-01-06 09:40:20 -08:00
session.go Merge pull request #1041 from rboyer/api-fix-session-renew 2015-09-25 13:15:54 -07:00
session_test.go Correct the Session.Renew{,Periodic} to handle session expiration better 2015-09-14 08:52:32 -05:00
snapshot.go Adds support for snapshots and restores. (#2396) 2016-10-25 19:20:24 -07:00
snapshot_test.go Adds support for snapshots and restores. (#2396) 2016-10-25 19:20:24 -07:00
status.go
status_test.go api: run tests in parallel 2015-05-08 10:27:24 -07:00

README.md

Consul API client

This package provides the api package which attempts to provide programmatic access to the full Consul API.

Currently, all of the Consul APIs included in version 0.6.0 are supported.

Documentation

The full documentation is available on Godoc

Usage

Below is an example of using the Consul client:

// Get a new client
client, err := api.NewClient(api.DefaultConfig())
if err != nil {
    panic(err)
}

// Get a handle to the KV API
kv := client.KV()

// PUT a new KV pair
p := &api.KVPair{Key: "foo", Value: []byte("test")}
_, err = kv.Put(p, nil)
if err != nil {
    panic(err)
}

// Lookup the pair
pair, _, err := kv.Get("foo", nil)
if err != nil {
    panic(err)
}
fmt.Printf("KV: %v", pair)