func (s *localTester) Init(t *testing.T, request *InitRequest) bool {
	response := s.service.Init(request)
	return handleResponse(t, response.BaseResponse)
}
Init datastore, (register, recreated, run sql, add mapping)
package dsunit
import (
	"fmt"
	"github.com/viant/toolbox"
	"path"
	"testing"
)
var LogF = fmt.Printf
type Tester interface {
	Register(t *testing.T, request *RegisterRequest) bool
	RegisterFromURL(t *testing.T, URL string) bool
	Recreate(t *testing.T, request *RecreateRequest) bool
	RecreateFromURL(t *testing.T, URL string) bool
	RunSQL(t *testing.T, request *RunSQLRequest) bool
	RunSQLFromURL(t *testing.T, URL string) bool
	RunScript(t *testing.T, request *RunScriptRequest) bool
	RunScriptFromURL(t *testing.T, URL string) bool
	AddTableMapping(t *testing.T, request *MappingRequest) bool
	AddTableMappingFromURL(t *testing.T, URL string) bool
	Init(t *testing.T, request *InitRequest) bool
	InitFromURL(t *testing.T, URL string) bool
	Prepare(t *testing.T, request *PrepareRequest) bool
	PrepareFromURL(t *testing.T, URL string) bool
	PrepareDatastore(t *testing.T, datastore string) bool
	PrepareFor(t *testing.T, datastore string, baseDirectory string, method string) bool
	Expect(t *testing.T, request *ExpectRequest) bool
	ExpectFromURL(t *testing.T, URL string) bool
	ExpectDatasets(t *testing.T, datastore string, checkPolicy int) bool
	ExpectFor(t *testing.T, datastore string, checkPolicy int, baseDirectory string, method string) bool
	Ping(t *testing.T, datastore string, timeoutMs int) bool
}
type localTester struct {
	service Service
}
func handleError(t *testing.T, err error) {
	if err != nil {
		file, method, line := toolbox.DiscoverCaller(2, 10, "stack_helper.go", "static.go", "tester.go", "helper.go")
		_, file = path.Split(file)
		fmt.Printf("%v:%v (%v)\n%v\n", file, line, method, err)
		t.FailNow()
	}
}
func handleResponse(t *testing.T, response *BaseResponse) bool {
	file, method, line := toolbox.DiscoverCaller(3, 10, "stack_helper.go", "static.go", "tester.go", "helper.go")
	_, file = path.Split(file)
	if response.Status != StatusOk {
		_, _ = LogF("%v:%v (%v)\n%v\n", file, line, method, response.Message)
		t.Fail()
		return false
	}
	return true
}
func (s *localTester) Register(t *testing.T, request *RegisterRequest) bool {
	response := s.service.Register(request)
	return handleResponse(t, response.BaseResponse)
}
func (s *localTester) RegisterFromURL(t *testing.T, URL string) bool {
	request, err := NewRegisterRequestFromURL(URL)
	handleError(t, err)
	return s.Register(t, request)
}
func (s *localTester) Recreate(t *testing.T, request *RecreateRequest) bool {
	response := s.service.Recreate(request)
	return handleResponse(t, response.BaseResponse)
}
func (s *localTester) RecreateFromURL(t *testing.T, URL string) bool {
	request, err := NewRecreateRequestFromURL(URL)
	handleError(t, err)
	return s.Recreate(t, request)
}
func (s *localTester) RunSQL(t *testing.T, request *RunSQLRequest) bool {
	response := s.service.RunSQL(request)
	return handleResponse(t, response.BaseResponse)
}
func (s *localTester) RunSQLFromURL(t *testing.T, URL string) bool {
	request, err := NewRunSQLRequestFromURL(URL)
	handleError(t, err)
	return s.RunSQL(t, request)
}
func (s *localTester) RunScript(t *testing.T, request *RunScriptRequest) bool {
	response := s.service.RunScript(request)
	return handleResponse(t, response.BaseResponse)
}
func (s *localTester) RunScriptFromURL(t *testing.T, URL string) bool {
	request, err := NewRunScriptRequestFromURL(URL)
	handleError(t, err)
	return s.RunScript(t, request)
}
func (s *localTester) AddTableMapping(t *testing.T, request *MappingRequest) bool {
	response := s.service.AddTableMapping(request)
	return handleResponse(t, response.BaseResponse)
}
func (s *localTester) AddTableMappingFromURL(t *testing.T, URL string) bool {
	request, err := NewMappingRequestFromURL(URL)
	handleError(t, err)
	return s.AddTableMapping(t, request)
}