mirror of https://github.com/go-gitea/gitea
Added test environment for mssql (#4282)
* Added test environment for m$sql * Added template for test environment for m$sql * Fix password * Fix password (again) * Fix password (again again) * Fix db * Ci trigger (Looking at you drone....) * Ci trigger (Looking at you drone....) * Ci trigger (Looking at you drone....) * Ci trigger (Looking at you drone....) * Create master database for mssql integration tests Signed-off-by: Jonas Franz <info@jonasfranz.software> * Create database only if master do not exist Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix mssql integration tests by using custom database "gitea" Signed-off-by: Jonas Franz <info@jonasfranz.software> * Moved defer * bump xorm * updated xorm * Fixed buildpull/5522/head^2
parent
b1f3685015
commit
6db7dbd333
@ -0,0 +1,72 @@ |
||||
APP_NAME = Gitea: Git with a cup of tea |
||||
RUN_MODE = prod |
||||
|
||||
[database] |
||||
DB_TYPE = mssql |
||||
HOST = {{TEST_MSSQL_HOST}} |
||||
NAME = {{TEST_MSSQL_DBNAME}} |
||||
USER = {{TEST_MSSQL_USERNAME}} |
||||
PASSWD = {{TEST_MSSQL_PASSWORD}} |
||||
SSL_MODE = disable |
||||
|
||||
[indexer] |
||||
ISSUE_INDEXER_PATH = integrations/indexers-mssql/issues.bleve |
||||
REPO_INDEXER_ENABLED = true |
||||
REPO_INDEXER_PATH = integrations/indexers-mssql/repos.bleve |
||||
|
||||
[repository] |
||||
ROOT = integrations/gitea-integration-mssql/gitea-repositories |
||||
|
||||
[repository.local] |
||||
LOCAL_COPY_PATH = tmp/local-repo-mssql |
||||
LOCAL_WIKI_PATH = tmp/local-wiki-mssql |
||||
|
||||
[server] |
||||
SSH_DOMAIN = localhost |
||||
HTTP_PORT = 3003 |
||||
ROOT_URL = http://localhost:3003/ |
||||
DISABLE_SSH = false |
||||
SSH_LISTEN_HOST = localhost |
||||
SSH_PORT = 2201 |
||||
START_SSH_SERVER = true |
||||
LFS_START_SERVER = true |
||||
LFS_CONTENT_PATH = data/lfs-mssql |
||||
OFFLINE_MODE = false |
||||
LFS_JWT_SECRET = Tv_MjmZuHqpIY6GFl12ebgkRAMt4RlWt0v4EHKSXO0w |
||||
APP_DATA_PATH = integrations/gitea-integration-mssql/data |
||||
|
||||
[mailer] |
||||
ENABLED = false |
||||
|
||||
[service] |
||||
REGISTER_EMAIL_CONFIRM = false |
||||
ENABLE_NOTIFY_MAIL = false |
||||
DISABLE_REGISTRATION = false |
||||
ENABLE_CAPTCHA = false |
||||
REQUIRE_SIGNIN_VIEW = false |
||||
DEFAULT_KEEP_EMAIL_PRIVATE = false |
||||
DEFAULT_ALLOW_CREATE_ORGANIZATION = true |
||||
NO_REPLY_ADDRESS = noreply.example.org |
||||
|
||||
[picture] |
||||
DISABLE_GRAVATAR = false |
||||
ENABLE_FEDERATED_AVATAR = false |
||||
|
||||
[session] |
||||
PROVIDER = file |
||||
PROVIDER_CONFIG = data/sessions-mssql |
||||
|
||||
[log] |
||||
MODE = console,file |
||||
ROOT_PATH = mssql-log |
||||
|
||||
[log.console] |
||||
LEVEL = Warn |
||||
|
||||
[log.file] |
||||
LEVEL = Debug |
||||
|
||||
[security] |
||||
INSTALL_LOCK = true |
||||
SECRET_KEY = 9pCviYTWSb |
||||
INTERNAL_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE0OTU1NTE2MTh9.hhSVGOANkaKk3vfCd2jDOIww4pUk0xtg9JRde5UogyQ |
@ -0,0 +1,30 @@ |
||||
// Copyright 2018 The Xorm Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package xorm |
||||
|
||||
// ContextCache is the interface that operates the cache data.
|
||||
type ContextCache interface { |
||||
// Put puts value into cache with key.
|
||||
Put(key string, val interface{}) |
||||
// Get gets cached value by given key.
|
||||
Get(key string) interface{} |
||||
} |
||||
|
||||
type memoryContextCache map[string]interface{} |
||||
|
||||
// NewMemoryContextCache return memoryContextCache
|
||||
func NewMemoryContextCache() memoryContextCache { |
||||
return make(map[string]interface{}) |
||||
} |
||||
|
||||
// Put puts value into cache with key.
|
||||
func (m memoryContextCache) Put(key string, val interface{}) { |
||||
m[key] = val |
||||
} |
||||
|
||||
// Get gets cached value by given key.
|
||||
func (m memoryContextCache) Get(key string) interface{} { |
||||
return m[key] |
||||
} |
@ -1,22 +0,0 @@ |
||||
// Copyright 2017 The Xorm Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// +build go1.6
|
||||
|
||||
package xorm |
||||
|
||||
import "time" |
||||
|
||||
// SetConnMaxLifetime sets the maximum amount of time a connection may be reused.
|
||||
func (engine *Engine) SetConnMaxLifetime(d time.Duration) { |
||||
engine.db.SetConnMaxLifetime(d) |
||||
} |
||||
|
||||
// SetConnMaxLifetime sets the maximum amount of time a connection may be reused.
|
||||
func (eg *EngineGroup) SetConnMaxLifetime(d time.Duration) { |
||||
eg.Engine.SetConnMaxLifetime(d) |
||||
for i := 0; i < len(eg.slaves); i++ { |
||||
eg.slaves[i].SetConnMaxLifetime(d) |
||||
} |
||||
} |
@ -0,0 +1,26 @@ |
||||
// Copyright 2018 The Xorm Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package xorm |
||||
|
||||
// Transaction Execute sql wrapped in a transaction(abbr as tx), tx will automatic commit if no errors occurred
|
||||
func (engine *Engine) Transaction(f func(*Session) (interface{}, error)) (interface{}, error) { |
||||
session := engine.NewSession() |
||||
defer session.Close() |
||||
|
||||
if err := session.Begin(); err != nil { |
||||
return nil, err |
||||
} |
||||
|
||||
result, err := f(session) |
||||
if err != nil { |
||||
return nil, err |
||||
} |
||||
|
||||
if err := session.Commit(); err != nil { |
||||
return nil, err |
||||
} |
||||
|
||||
return result, nil |
||||
} |
Loading…
Reference in new issue