mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
111 lines
2.8 KiB
Go
111 lines
2.8 KiB
Go
/*
|
|
Real-time Online/Offline Charging System (OCS) for Telecom & ISP environments
|
|
Copyright (C) ITsysCOM GmbH
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>
|
|
*/
|
|
|
|
package ees
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/cgrates/cgrates/config"
|
|
"github.com/cgrates/cgrates/utils"
|
|
)
|
|
|
|
func TestS3GetMetrics(t *testing.T) {
|
|
safeMapStorage := &utils.ExporterMetrics{}
|
|
pstr := &S3EE{
|
|
dc: safeMapStorage,
|
|
}
|
|
result := pstr.GetMetrics()
|
|
if result == nil {
|
|
t.Errorf("GetMetrics() returned nil; expected a non-nil SafeMapStorage")
|
|
return
|
|
}
|
|
if result != safeMapStorage {
|
|
t.Errorf("GetMetrics() returned unexpected result; got %v, want %v", result, safeMapStorage)
|
|
}
|
|
}
|
|
|
|
func TestClose(t *testing.T) {
|
|
pstr := &S3EE{}
|
|
err := pstr.Close()
|
|
if err != nil {
|
|
t.Errorf("Close() returned an error: %v; expected nil", err)
|
|
}
|
|
}
|
|
|
|
func TestS3Cfg(t *testing.T) {
|
|
expectedCfg := &config.EventExporterCfg{}
|
|
pstr := &S3EE{
|
|
cfg: expectedCfg,
|
|
}
|
|
actualCfg := pstr.Cfg()
|
|
if actualCfg != expectedCfg {
|
|
t.Errorf("Cfg() = %v; expected %v", actualCfg, expectedCfg)
|
|
}
|
|
}
|
|
|
|
func TestParseOptsAllFieldsSet(t *testing.T) {
|
|
bucketID := "bucket"
|
|
folderPath := "folder"
|
|
region := "region"
|
|
key := "id"
|
|
secret := "key"
|
|
token := "token"
|
|
|
|
opts := &config.EventExporterOpts{
|
|
AWS: &config.AWSOpts{
|
|
S3BucketID: &bucketID,
|
|
S3FolderPath: &folderPath,
|
|
Region: ®ion,
|
|
Key: &key,
|
|
Secret: &secret,
|
|
Token: &token,
|
|
},
|
|
}
|
|
|
|
expected := S3EE{
|
|
bucket: bucketID,
|
|
folderPath: folderPath,
|
|
awsRegion: region,
|
|
awsID: key,
|
|
awsKey: secret,
|
|
awsToken: token,
|
|
}
|
|
|
|
s3ee := &S3EE{}
|
|
s3ee.parseOpts(opts)
|
|
if s3ee.bucket != expected.bucket {
|
|
t.Errorf("Expected bucket %s, got %s", expected.bucket, s3ee.bucket)
|
|
}
|
|
if s3ee.folderPath != expected.folderPath {
|
|
t.Errorf("Expected folderPath %s, got %s", expected.folderPath, s3ee.folderPath)
|
|
}
|
|
if s3ee.awsRegion != expected.awsRegion {
|
|
t.Errorf("Expected awsRegion %s, got %s", expected.awsRegion, s3ee.awsRegion)
|
|
}
|
|
if s3ee.awsID != expected.awsID {
|
|
t.Errorf("Expected awsID %s, got %s", expected.awsID, s3ee.awsID)
|
|
}
|
|
if s3ee.awsKey != expected.awsKey {
|
|
t.Errorf("Expected awsKey %s, got %s", expected.awsKey, s3ee.awsKey)
|
|
}
|
|
if s3ee.awsToken != expected.awsToken {
|
|
t.Errorf("Expected awsToken %s, got %s", expected.awsToken, s3ee.awsToken)
|
|
}
|
|
}
|