mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Added tests for DateTime case in ParseField function
This commit is contained in:
committed by
Dan Christian Bogos
parent
141998f164
commit
1dc8cdbebb
@@ -2221,7 +2221,7 @@ func TestFieldAsInterface(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestAgentRequestParseFieldDateTime(t *testing.T) {
|
||||
func TestAgentRequestParseFieldDateTimeDaily(t *testing.T) {
|
||||
tntTpl := config.NewRSRParsersMustCompile("*daily", utils.InfieldSep)
|
||||
AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, nil, tntTpl, "", "", nil, nil, nil)
|
||||
fctTemp := &config.FCTemplate{
|
||||
@@ -2249,3 +2249,234 @@ func TestAgentRequestParseFieldDateTime(t *testing.T) {
|
||||
t.Errorf("Expected %v but received %v", finRes.Day(), expected.Day())
|
||||
}
|
||||
}
|
||||
|
||||
func TestAgentRequestParseFieldDateTimeTimeZone(t *testing.T) {
|
||||
tntTpl := config.NewRSRParsersMustCompile("*daily", utils.InfieldSep)
|
||||
AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, nil, tntTpl, "", "", nil, nil, nil)
|
||||
fctTemp := &config.FCTemplate{Type: utils.MetaDateTime,
|
||||
Value: config.NewRSRParsersMustCompile("*daily", utils.InfieldSep),
|
||||
Layout: "“Mon Jan _2 15:04:05 2006”",
|
||||
Timezone: "Local",
|
||||
}
|
||||
|
||||
result, err := AgentReq.ParseField(fctTemp)
|
||||
if err != nil {
|
||||
t.Errorf("Expected %v but received %v", nil, err)
|
||||
}
|
||||
|
||||
expected, err := utils.ParseTimeDetectLayout("*daily", utils.FirstNonEmpty(fctTemp.Timezone, config.CgrConfig().GeneralCfg().DefaultTimezone))
|
||||
if err != nil {
|
||||
t.Errorf("Expected %v but received %v", nil, err)
|
||||
}
|
||||
strRes := fmt.Sprintf("%v", result)
|
||||
finRes, err := time.Parse("“Mon Jan _2 15:04:05 2006”", strRes)
|
||||
if err != nil {
|
||||
t.Errorf("Expected %v but received %v", nil, err)
|
||||
}
|
||||
if !reflect.DeepEqual(finRes.Day(), expected.Day()) {
|
||||
t.Errorf("Expected %v but received %v", finRes.Day(), expected.Day())
|
||||
}
|
||||
}
|
||||
|
||||
func TestAgentRequestParseFieldDateTimeMonthly(t *testing.T) {
|
||||
tntTpl := config.NewRSRParsersMustCompile("*monthly", utils.InfieldSep)
|
||||
AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, nil, tntTpl, "", "", nil, nil, nil)
|
||||
fctTemp := &config.FCTemplate{Type: utils.MetaDateTime,
|
||||
Value: config.NewRSRParsersMustCompile("*monthly", utils.InfieldSep),
|
||||
Layout: "“Mon Jan _2 15:04:05 2006”",
|
||||
Timezone: "Local",
|
||||
}
|
||||
|
||||
result, err := AgentReq.ParseField(fctTemp)
|
||||
if err != nil {
|
||||
t.Errorf("Expected %v but received %v", nil, err)
|
||||
}
|
||||
|
||||
expected, err := utils.ParseTimeDetectLayout("*monthly", utils.FirstNonEmpty(fctTemp.Timezone, config.CgrConfig().GeneralCfg().DefaultTimezone))
|
||||
if err != nil {
|
||||
t.Errorf("Expected %v but received %v", nil, err)
|
||||
}
|
||||
strRes := fmt.Sprintf("%v", result)
|
||||
finRes, err := time.Parse("“Mon Jan _2 15:04:05 2006”", strRes)
|
||||
if err != nil {
|
||||
t.Errorf("Expected %v but received %v", nil, err)
|
||||
}
|
||||
if !reflect.DeepEqual(finRes.Month(), expected.Month()) {
|
||||
t.Errorf("Expected %v but received %v", finRes.Month(), expected.Month())
|
||||
}
|
||||
}
|
||||
|
||||
func TestAgentRequestParseFieldDateTimeMonthlyEstimated(t *testing.T) {
|
||||
tntTpl := config.NewRSRParsersMustCompile("*monthly_estimated", utils.InfieldSep)
|
||||
AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, nil, tntTpl, "", "", nil, nil, nil)
|
||||
fctTemp := &config.FCTemplate{Type: utils.MetaDateTime,
|
||||
Value: config.NewRSRParsersMustCompile("*monthly_estimated", utils.InfieldSep),
|
||||
Layout: "“Mon Jan _2 15:04:05 2006”",
|
||||
Timezone: "Local",
|
||||
}
|
||||
|
||||
result, err := AgentReq.ParseField(fctTemp)
|
||||
if err != nil {
|
||||
t.Errorf("Expected %v but received %v", nil, err)
|
||||
}
|
||||
|
||||
expected, err := utils.ParseTimeDetectLayout("*monthly_estimated", utils.FirstNonEmpty(fctTemp.Timezone, config.CgrConfig().GeneralCfg().DefaultTimezone))
|
||||
if err != nil {
|
||||
t.Errorf("Expected %v but received %v", nil, err)
|
||||
}
|
||||
strRes := fmt.Sprintf("%v", result)
|
||||
finRes, err := time.Parse("“Mon Jan _2 15:04:05 2006”", strRes)
|
||||
if err != nil {
|
||||
t.Errorf("Expected %v but received %v", nil, err)
|
||||
}
|
||||
if !reflect.DeepEqual(finRes.Month(), expected.Month()) {
|
||||
t.Errorf("Expected %v but received %v", finRes.Month(), expected.Month())
|
||||
}
|
||||
}
|
||||
|
||||
func TestAgentRequestParseFieldDateTimeYearly(t *testing.T) {
|
||||
tntTpl := config.NewRSRParsersMustCompile("*yearly", utils.InfieldSep)
|
||||
AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, nil, tntTpl, "", "", nil, nil, nil)
|
||||
fctTemp := &config.FCTemplate{Type: utils.MetaDateTime,
|
||||
Value: config.NewRSRParsersMustCompile("*yearly", utils.InfieldSep),
|
||||
Layout: "“Mon Jan _2 15:04:05 2006”",
|
||||
Timezone: "Local",
|
||||
}
|
||||
|
||||
result, err := AgentReq.ParseField(fctTemp)
|
||||
if err != nil {
|
||||
t.Errorf("Expected %v but received %v", nil, err)
|
||||
}
|
||||
|
||||
expected, err := utils.ParseTimeDetectLayout("*yearly", utils.FirstNonEmpty(fctTemp.Timezone, config.CgrConfig().GeneralCfg().DefaultTimezone))
|
||||
if err != nil {
|
||||
t.Errorf("Expected %v but received %v", nil, err)
|
||||
}
|
||||
strRes := fmt.Sprintf("%v", result)
|
||||
finRes, err := time.Parse("“Mon Jan _2 15:04:05 2006”", strRes)
|
||||
if err != nil {
|
||||
t.Errorf("Expected %v but received %v", nil, err)
|
||||
}
|
||||
if !reflect.DeepEqual(finRes.Year(), expected.Year()) {
|
||||
t.Errorf("Expected %v but received %v", finRes.Year(), expected.Year())
|
||||
}
|
||||
}
|
||||
|
||||
func TestAgentRequestParseFieldDateTimeMetaUnlimited(t *testing.T) {
|
||||
tntTpl := config.NewRSRParsersMustCompile(utils.MetaUnlimited, utils.InfieldSep)
|
||||
AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, nil, tntTpl, "", "", nil, nil, nil)
|
||||
fctTemp := &config.FCTemplate{Type: utils.MetaDateTime,
|
||||
Value: config.NewRSRParsersMustCompile(utils.MetaUnlimited, utils.InfieldSep),
|
||||
Layout: "“Mon Jan _2 15:04:05 2006”",
|
||||
Timezone: "Local",
|
||||
}
|
||||
|
||||
result, err := AgentReq.ParseField(fctTemp)
|
||||
if err != nil {
|
||||
t.Errorf("Expected %v but received %v", nil, err)
|
||||
}
|
||||
|
||||
expected, err := utils.ParseTimeDetectLayout(utils.MetaUnlimited, utils.FirstNonEmpty(fctTemp.Timezone, config.CgrConfig().GeneralCfg().DefaultTimezone))
|
||||
if err != nil {
|
||||
t.Errorf("Expected %v but received %v", nil, err)
|
||||
}
|
||||
strRes := fmt.Sprintf("%v", result)
|
||||
finRes, err := time.Parse("“Mon Jan _2 15:04:05 2006”", strRes)
|
||||
if err != nil {
|
||||
t.Errorf("Expected %v but received %v", nil, err)
|
||||
}
|
||||
if !reflect.DeepEqual(finRes.Day(), expected.Day()) {
|
||||
t.Errorf("Expected %v but received %v", finRes.Day(), expected.Day())
|
||||
}
|
||||
}
|
||||
|
||||
func TestAgentRequestParseFieldDateTimeEmpty(t *testing.T) {
|
||||
tntTpl := config.NewRSRParsersMustCompile("", utils.InfieldSep)
|
||||
AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, nil, tntTpl, "", "", nil, nil, nil)
|
||||
fctTemp := &config.FCTemplate{Type: utils.MetaDateTime,
|
||||
Value: config.NewRSRParsersMustCompile("", utils.InfieldSep),
|
||||
Layout: "“Mon Jan _2 15:04:05 2006”",
|
||||
Timezone: "Local",
|
||||
}
|
||||
|
||||
result, err := AgentReq.ParseField(fctTemp)
|
||||
if err != nil {
|
||||
t.Errorf("Expected %v but received %v", nil, err)
|
||||
}
|
||||
|
||||
expected, err := utils.ParseTimeDetectLayout("", utils.FirstNonEmpty(fctTemp.Timezone, config.CgrConfig().GeneralCfg().DefaultTimezone))
|
||||
if err != nil {
|
||||
t.Errorf("Expected %v but received %v", nil, err)
|
||||
}
|
||||
strRes := fmt.Sprintf("%v", result)
|
||||
finRes, err := time.Parse("“Mon Jan _2 15:04:05 2006”", strRes)
|
||||
if err != nil {
|
||||
t.Errorf("Expected %v but received %v", nil, err)
|
||||
}
|
||||
if !reflect.DeepEqual(finRes.Day(), expected.Day()) {
|
||||
t.Errorf("Expected %v but received %v", finRes.Day(), expected.Day())
|
||||
}
|
||||
}
|
||||
|
||||
func TestAgentRequestParseFieldDateTimeMonthEnd(t *testing.T) {
|
||||
tntTpl := config.NewRSRParsersMustCompile("*month_endTest", utils.InfieldSep)
|
||||
AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, nil, tntTpl, "", "", nil, nil, nil)
|
||||
fctTemp := &config.FCTemplate{Type: utils.MetaDateTime,
|
||||
Value: config.NewRSRParsersMustCompile("*month_endTest", utils.InfieldSep),
|
||||
Layout: "“Mon Jan _2 15:04:05 2006”",
|
||||
Timezone: "Local",
|
||||
}
|
||||
|
||||
result, err := AgentReq.ParseField(fctTemp)
|
||||
if err != nil {
|
||||
t.Errorf("Expected %v but received %v", nil, err)
|
||||
}
|
||||
|
||||
expected, err := utils.ParseTimeDetectLayout("*month_endTest", utils.FirstNonEmpty(fctTemp.Timezone, config.CgrConfig().GeneralCfg().DefaultTimezone))
|
||||
if err != nil {
|
||||
t.Errorf("Expected %v but received %v", nil, err)
|
||||
}
|
||||
strRes := fmt.Sprintf("%v", result)
|
||||
finRes, err := time.Parse("“Mon Jan _2 15:04:05 2006”", strRes)
|
||||
if err != nil {
|
||||
t.Errorf("Expected %v but received %v", nil, err)
|
||||
}
|
||||
if !reflect.DeepEqual(finRes.Day(), expected.Day()) {
|
||||
t.Errorf("Expected %v but received %v", finRes.Day(), expected.Day())
|
||||
}
|
||||
}
|
||||
|
||||
func TestAgentRequestParseFieldDateTimeError(t *testing.T) {
|
||||
tntTpl := config.NewRSRParsersMustCompile("*month_endTest", utils.InfieldSep)
|
||||
AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, nil, tntTpl, "", "", nil, nil, nil)
|
||||
fctTemp := &config.FCTemplate{Type: utils.MetaDateTime,
|
||||
Value: config.NewRSRParsersMustCompile("*month_endTest", utils.InfieldSep),
|
||||
Layout: "“Mon Jan _2 15:04:05 2006”",
|
||||
Timezone: "/",
|
||||
}
|
||||
|
||||
_, err := AgentReq.ParseField(fctTemp)
|
||||
expected := "time: invalid location name"
|
||||
if err == nil || err.Error() != expected {
|
||||
t.Errorf("Expected <%+v> but received <%+v>", expected, err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestAgentRequestParseFieldDateTimeError2(t *testing.T) {
|
||||
prsr, err := config.NewRSRParsersFromSlice([]string{"2.", "~*req.CGRID<~*opts.Converter>"})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, nil, prsr, "", "", nil, nil, nil)
|
||||
fctTemp := &config.FCTemplate{Type: utils.MetaDateTime,
|
||||
Value: prsr,
|
||||
Layout: "“Mon Jan _2 15:04:05 2006”",
|
||||
Timezone: "/",
|
||||
}
|
||||
|
||||
_, err = AgentReq.ParseField(fctTemp)
|
||||
expected := utils.ErrNotFound
|
||||
if err == nil || err != expected {
|
||||
t.Errorf("Expected <%+v> but received <%+v>", expected, err)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user