Merge branch 'master' into storage_refactor

This commit is contained in:
Jonathan Leibiusky @xetorthio
2017-06-21 10:51:26 -03:00
12 changed files with 321 additions and 14 deletions

View File

@@ -97,6 +97,16 @@ func (p *pwd) InstanceFindByIP(ip string) *types.Instance {
return i
}
func (p *pwd) InstanceFindByIPAndSession(sessionPrefix, ip string) *types.Instance {
defer observeAction("InstanceFindByIPAndSession", time.Now())
i, err := p.storage.InstanceFindByIPAndSession(sessionPrefix, ip)
if err != nil {
return nil
}
return i
}
func (p *pwd) InstanceFindByAlias(sessionPrefix, alias string) *types.Instance {
defer observeAction("InstanceFindByAlias", time.Now())
i, err := p.storage.InstanceFindByAlias(sessionPrefix, alias)

View File

@@ -63,6 +63,7 @@ type PWDApi interface {
InstanceGet(session *types.Session, name string) *types.Instance
InstanceFindByIP(ip string) *types.Instance
InstanceFindByAlias(sessionPrefix, alias string) *types.Instance
InstanceFindByIPAndSession(sessionPrefix, ip string) *types.Instance
InstanceDelete(session *types.Session, instance *types.Instance) error
InstanceWriteToTerminal(instance *types.Instance, data string)
InstanceAllowedImages() []string

View File

@@ -3,14 +3,15 @@ package pwd
import "github.com/play-with-docker/play-with-docker/pwd/types"
type mockStorage struct {
sessionGet func(sessionId string) (*types.Session, error)
sessionPut func(s *types.Session) error
sessionCount func() (int, error)
sessionDelete func(sessionId string) error
instanceFindByAlias func(sessionPrefix, alias string) (*types.Instance, error)
instanceFindByIP func(ip string) (*types.Instance, error)
instanceCount func() (int, error)
clientCount func() (int, error)
sessionGet func(sessionId string) (*types.Session, error)
sessionPut func(s *types.Session) error
sessionCount func() (int, error)
sessionDelete func(sessionId string) error
instanceFindByAlias func(sessionPrefix, alias string) (*types.Instance, error)
instanceFindByIP func(ip string) (*types.Instance, error)
instanceFindByIPAndSession func(sessionPrefix, ip string) (*types.Instance, error)
instanceCount func() (int, error)
clientCount func() (int, error)
}
func (m *mockStorage) SessionGet(sessionId string) (*types.Session, error) {
@@ -49,6 +50,12 @@ func (m *mockStorage) InstanceFindByIP(ip string) (*types.Instance, error) {
}
return nil, nil
}
func (m *mockStorage) InstanceFindByIPAndSession(sessionPrefix, ip string) (*types.Instance, error) {
if m.instanceFindByIPAndSession != nil {
return m.instanceFindByIPAndSession(sessionPrefix, ip)
}
return nil, nil
}
func (m *mockStorage) InstanceCount() (int, error) {
if m.instanceCount != nil {
return m.instanceCount()