diff --git a/http.go b/http.go
index <HASH>..<HASH> 100644
--- a/http.go
+++ b/http.go
@@ -30,10 +30,16 @@ type HTTPFrontend struct {
 
 	etcdPrefix string
 
-	etcd      *etcd.Client
+	etcd      httpFrontendEtcdClient
 	discoverd *discoverd.Client
 }
 
+type httpFrontendEtcdClient interface {
+	Create(key string, value string, ttl uint64) (*etcd.Response, error)
+	Get(key string, sort, recursive bool) (*etcd.Response, error)
+	Watch(prefix string, waitIndex uint64, recursive bool, receiver chan *etcd.Response, stop chan bool) (*etcd.Response, error)
+}
+
 func NewHTTPFrontend(addr string) (*HTTPFrontend, error) {
 	f := &HTTPFrontend{
 		Addr:       addr,
router: Use interface for etcd client in frontend