github.com/justinjmoses/evergreen@v0.0.0-20170530173719-1d50e381ff0d/rest/data/context.go (about)

     1  package data
     2  
     3  import (
     4  	"github.com/evergreen-ci/evergreen/model"
     5  )
     6  
     7  // DBContextConnector is a struct that implements the Context related
     8  // functions of the ServiceConnector interface through interactions
     9  // with the backing database.
    10  type DBContextConnector struct{}
    11  
    12  // LoadContext fetches the context through a call to the service layer.
    13  func (dc *DBContextConnector) FetchContext(taskId, buildId, versionId, patchId, projectId string) (model.Context, error) {
    14  	return model.LoadContext(taskId, buildId, versionId, patchId, projectId)
    15  }
    16  
    17  // MockContextConnector is a struct that mocks the context methods
    18  // by storing context to be fetched by its method.
    19  type MockContextConnector struct {
    20  	CachedContext model.Context
    21  	CachedErr     error
    22  }
    23  
    24  // FetchContext returns the context cached within the MockContextConnector.
    25  func (mc *MockContextConnector) FetchContext(taskId, buildId, versionId, patchId, projectId string) (model.Context, error) {
    26  	return mc.CachedContext, mc.CachedErr
    27  }