mirror of
https://github.com/minio/minio.git
synced 2025-07-28 17:50:57 -04:00
Test Function to reset globals. (#3538)
- Adding reset functions for important global variables. - Using them in tests.
This commit is contained in:
parent
464f9d34d6
commit
2f4a7483ea
@ -111,6 +111,11 @@ func getServiceCmdRequest(cmd cmdType, cred credential) (*http.Request, error) {
|
|||||||
// testServicesCmdHandler - parametrizes service subcommand tests on
|
// testServicesCmdHandler - parametrizes service subcommand tests on
|
||||||
// cmdType value.
|
// cmdType value.
|
||||||
func testServicesCmdHandler(cmd cmdType, t *testing.T) {
|
func testServicesCmdHandler(cmd cmdType, t *testing.T) {
|
||||||
|
// reset globals.
|
||||||
|
// this is to make sure that the tests are not affected by modified value.
|
||||||
|
resetTestGlobals()
|
||||||
|
// initialize NSLock.
|
||||||
|
initNSLock(false)
|
||||||
// Initialize configuration for access/secret credentials.
|
// Initialize configuration for access/secret credentials.
|
||||||
rootPath, err := newTestConfig("us-east-1")
|
rootPath, err := newTestConfig("us-east-1")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -194,6 +199,12 @@ func TestServiceRestartHandler(t *testing.T) {
|
|||||||
|
|
||||||
// Test for locks list management REST API.
|
// Test for locks list management REST API.
|
||||||
func TestListLocksHandler(t *testing.T) {
|
func TestListLocksHandler(t *testing.T) {
|
||||||
|
// reset globals.
|
||||||
|
// this is to make sure that the tests are not affected by modified globals.
|
||||||
|
resetTestGlobals()
|
||||||
|
// initialize NSLock.
|
||||||
|
initNSLock(false)
|
||||||
|
|
||||||
rootPath, err := newTestConfig("us-east-1")
|
rootPath, err := newTestConfig("us-east-1")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Unable to initialize server config. %s", err)
|
t.Fatalf("Unable to initialize server config. %s", err)
|
||||||
@ -272,6 +283,12 @@ func TestListLocksHandler(t *testing.T) {
|
|||||||
|
|
||||||
// Test for locks clear management REST API.
|
// Test for locks clear management REST API.
|
||||||
func TestClearLocksHandler(t *testing.T) {
|
func TestClearLocksHandler(t *testing.T) {
|
||||||
|
// reset globals.
|
||||||
|
// this is to make sure that the tests are not affected by modified globals.
|
||||||
|
resetTestGlobals()
|
||||||
|
// initialize NSLock.
|
||||||
|
initNSLock(false)
|
||||||
|
|
||||||
rootPath, err := newTestConfig("us-east-1")
|
rootPath, err := newTestConfig("us-east-1")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Unable to initialize server config. %s", err)
|
t.Fatalf("Unable to initialize server config. %s", err)
|
||||||
@ -347,6 +364,11 @@ func TestClearLocksHandler(t *testing.T) {
|
|||||||
|
|
||||||
// Test for lock query param validation helper function.
|
// Test for lock query param validation helper function.
|
||||||
func TestValidateLockQueryParams(t *testing.T) {
|
func TestValidateLockQueryParams(t *testing.T) {
|
||||||
|
// reset globals.
|
||||||
|
// this is to make sure that the tests are not affected by modified globals.
|
||||||
|
resetTestGlobals()
|
||||||
|
// initialize NSLock.
|
||||||
|
initNSLock(false)
|
||||||
// Sample query values for test cases.
|
// Sample query values for test cases.
|
||||||
allValidVal := url.Values{}
|
allValidVal := url.Values{}
|
||||||
allValidVal.Set(string(lockBucket), "bucket")
|
allValidVal.Set(string(lockBucket), "bucket")
|
||||||
|
@ -22,6 +22,10 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func testAdminCmd(cmd cmdType, t *testing.T) {
|
func testAdminCmd(cmd cmdType, t *testing.T) {
|
||||||
|
// reset globals.
|
||||||
|
// this is to make sure that the tests are not affected by modified globals.
|
||||||
|
resetTestGlobals()
|
||||||
|
|
||||||
rootPath, err := newTestConfig("us-east-1")
|
rootPath, err := newTestConfig("us-east-1")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Failed to create test config - %v", err)
|
t.Fatalf("Failed to create test config - %v", err)
|
||||||
|
@ -20,6 +20,10 @@ import "testing"
|
|||||||
|
|
||||||
// Tests authorized RPC client.
|
// Tests authorized RPC client.
|
||||||
func TestAuthRPCClient(t *testing.T) {
|
func TestAuthRPCClient(t *testing.T) {
|
||||||
|
// reset globals.
|
||||||
|
// this is to make sure that the tests are not affected by modified globals.
|
||||||
|
resetTestGlobals()
|
||||||
|
|
||||||
authCfg := authConfig{
|
authCfg := authConfig{
|
||||||
accessKey: "123",
|
accessKey: "123",
|
||||||
secretKey: "123",
|
secretKey: "123",
|
||||||
|
@ -945,7 +945,7 @@ func TestBucketPolicyConditionMatch(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i, tc := range testCases {
|
for i, tc := range testCases {
|
||||||
t.Run(fmt.Sprintf("Test case %d: Failed.", i+1), func(t *testing.T) {
|
t.Run(fmt.Sprintf("Case %d", i+1), func(t *testing.T) {
|
||||||
// call the function under test and assert the result with the expected result.
|
// call the function under test and assert the result with the expected result.
|
||||||
doesMatch := bucketPolicyConditionMatch(tc.condition, tc.statementCondition)
|
doesMatch := bucketPolicyConditionMatch(tc.condition, tc.statementCondition)
|
||||||
if tc.expectedMatch != doesMatch {
|
if tc.expectedMatch != doesMatch {
|
||||||
|
@ -456,6 +456,23 @@ func resetGlobalConfig() {
|
|||||||
serverConfigMu.Unlock()
|
serverConfigMu.Unlock()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// reset global NSLock.
|
||||||
|
func resetGlobalNSLock() {
|
||||||
|
if globalNSMutex != nil {
|
||||||
|
globalNSMutex = nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// reset global event notifier.
|
||||||
|
func resetGlobalEventNotifier() {
|
||||||
|
globalEventNotifier = nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// reset Global event notifier.
|
||||||
|
func resetGlobalEventnotify() {
|
||||||
|
globalEventNotifier = nil
|
||||||
|
}
|
||||||
|
|
||||||
// Resets all the globals used modified in tests.
|
// Resets all the globals used modified in tests.
|
||||||
// Resetting ensures that the changes made to globals by one test doesn't affect others.
|
// Resetting ensures that the changes made to globals by one test doesn't affect others.
|
||||||
func resetTestGlobals() {
|
func resetTestGlobals() {
|
||||||
@ -465,6 +482,10 @@ func resetTestGlobals() {
|
|||||||
resetGlobalConfigPath()
|
resetGlobalConfigPath()
|
||||||
// Reset Global server config.
|
// Reset Global server config.
|
||||||
resetGlobalConfig()
|
resetGlobalConfig()
|
||||||
|
// Reset global NSLock.
|
||||||
|
resetGlobalNSLock()
|
||||||
|
// Reset global event notifier.
|
||||||
|
resetGlobalEventnotify()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Configure the server for the test run.
|
// Configure the server for the test run.
|
||||||
@ -1876,6 +1897,11 @@ func ExecObjectLayerAPINilTest(t TestErrHandler, bucketName, objectName, instanc
|
|||||||
// ExecObjectLayerAPITest - executes object layer API tests.
|
// ExecObjectLayerAPITest - executes object layer API tests.
|
||||||
// Creates single node and XL ObjectLayer instance, registers the specified API end points and runs test for both the layers.
|
// Creates single node and XL ObjectLayer instance, registers the specified API end points and runs test for both the layers.
|
||||||
func ExecObjectLayerAPITest(t *testing.T, objAPITest objAPITestType, endpoints []string) {
|
func ExecObjectLayerAPITest(t *testing.T, objAPITest objAPITestType, endpoints []string) {
|
||||||
|
// reset globals.
|
||||||
|
// this is to make sure that the tests are not affected by modified value.
|
||||||
|
resetTestGlobals()
|
||||||
|
// initialize NSLock.
|
||||||
|
initNSLock(false)
|
||||||
// initialize the server and obtain the credentials and root.
|
// initialize the server and obtain the credentials and root.
|
||||||
// credentials are necessary to sign the HTTP request.
|
// credentials are necessary to sign the HTTP request.
|
||||||
rootPath, err := newTestConfig("us-east-1")
|
rootPath, err := newTestConfig("us-east-1")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user