33# Copyright (c) 2023, CloudBlue
44# All rights reserved.
55#
6+ import copy
7+
8+ import pytest
69
710from reports .customers_list .entrypoint import (
811 generate ,
1821}
1922
2023
24+ @pytest .mark .parametrize (
25+ 'parameter_choices,expected_rql' ,
26+ (
27+ ({'choices' : ['customer' ]}, ',eq(type,customer)' ),
28+ ({'choices' : ['tier1' ]}, ',eq(type,reseller)' ),
29+ ({'choices' : ['tier2' ]}, ',eq(type,reseller)' ),
30+ ({'choices' : ['tier2' , 'tier1' ]}, ',eq(type,reseller)' ),
31+ ({'choices' : ['customer' , 'tier1' ]}, '' ),
32+ ({'choices' : ['customer' , 'tier2' ]}, '' ),
33+ ({'choices' : ['customer' , 'tier1' , 'tier1' , 'tier2' ]}, '' ),
34+
35+ ),
36+ )
2137def test_generate (
2238 progress ,
2339 client_factory ,
2440 response_factory ,
2541 mkp_list ,
2642 ta_list ,
2743 tier_account ,
44+ parameter_choices ,
45+ expected_rql ,
2846):
47+ parameters = copy .deepcopy (PARAMETERS )
48+ parameters ['tier_type' ] = {** parameter_choices , 'all' : False }
2949 responses = []
3050 responses .append (
3151 response_factory (
@@ -37,10 +57,13 @@ def test_generate(
3757 count = 1 ,
3858 ),
3959 )
60+ ta_list_query = (
61+ 'and(ge(events.created.at,2020-12-01T00:00:00),le(events.created.at,'
62+ '2021-01-01T00:00:00){0})'
63+ )
4064 responses .append (
4165 response_factory (
42- query = 'and(ge(events.created.at,2020-12-01T00:00:00),le(events.created.at,'
43- '2021-01-01T00:00:00))' ,
66+ query = ta_list_query .format (expected_rql ),
4467 value = ta_list ,
4568 ),
4669 )
@@ -50,7 +73,7 @@ def test_generate(
5073 ),
5174 )
5275 client = client_factory (responses )
53- result = list (generate (client , PARAMETERS , progress ))
76+ result = list (generate (client , parameters , progress ))
5477
5578 assert len (result ) == 1
5679 i = 0
0 commit comments