Skip to content

Commit 16a54e6

Browse files
committed
fixed interactive prompt issue on CI
Signed-off-by: Mohamad Abuelhagag <mohammed.abuelhagag@gmail.com>
1 parent c7d467c commit 16a54e6

2 files changed

Lines changed: 24 additions & 14 deletions

File tree

mkwvconf/mkwvconf.py

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,9 @@ def cli():
286286
parser.add_argument('--xmlPath', type=FileType('r'))
287287
parser.add_argument('--modemDevice', type=str)
288288
parser.add_argument('--profileName', type=str)
289+
parser.add_argument('--countryCode', type=str, help='Country code (non-interactive mode)')
290+
parser.add_argument('--provider', type=str, help='Provider name (non-interactive mode)')
291+
parser.add_argument('--apn', type=str, help='APN name (non-interactive mode)')
289292
args = parser.parse_args()
290293

291294
opts = {}
@@ -302,11 +305,19 @@ def cli():
302305

303306
mkwvconf = Mkwvconf(opts)
304307

305-
mkwvconf.displayIntro()
306-
countryCode = mkwvconf.selectCountryCode()
307-
provider = mkwvconf.selectProvider(countryCode)
308-
apnname = mkwvconf.selectApn(countryCode, provider)
309-
mkwvconf.makeConfig(countryCode, provider, apnname)
308+
# Non-interactive mode: all parameters provided via command-line
309+
if args.countryCode and args.provider and args.apn:
310+
countryCode = args.countryCode
311+
provider = args.provider
312+
apnname = args.apn
313+
mkwvconf.makeConfig(countryCode, provider, apnname)
314+
else:
315+
# Interactive mode
316+
mkwvconf.displayIntro()
317+
countryCode = mkwvconf.selectCountryCode()
318+
provider = mkwvconf.selectProvider(countryCode)
319+
apnname = mkwvconf.selectApn(countryCode, provider)
320+
mkwvconf.makeConfig(countryCode, provider, apnname)
310321

311322

312323
if __name__ == "__main__":

test.sh

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@ Running test with simple configuration
1313
"
1414

1515
countryCode="za"
16-
provider="1"
16+
provider="Cell-c"
17+
apn="internet"
1718
modemLocation="/dev/ttyUSB1"
1819
profileName="testProfile"
1920
configPath="${configDir}/simpleConfiguration-actual.ini"
2021
expectedConfig="${configDir}/simpleConfiguration-expected.ini"
2122

22-
echo -e "${countryCode}\n${provider}\nY\n${modemLocation}\nY\n${profileName}\nY\n" \
23-
| mkwvconf --configPath="${configPath}"
23+
mkwvconf --configPath="${configPath}" --countryCode="${countryCode}" --provider="${provider}" --apn="${apn}" --modemDevice="${modemLocation}" --profileName="${profileName}"
2424

2525
cat > "${expectedConfig}" << EOF
2626
@@ -46,15 +46,14 @@ Running test with custom apn
4646
"
4747

4848
countryCode="ug"
49-
provider="1"
50-
apn="0"
49+
provider="MTN"
50+
apn="yellopix.mtn.co.ug"
5151
modemLocation="/dev/ttyUSB2"
5252
profileName="testProfile2"
5353
configPath="${configDir}/apnConfiguration-actual.ini"
5454
expectedConfig="${configDir}/apnConfiguration-expected.ini"
5555

56-
echo -e "${countryCode}\n${provider}\nY\n${apn}\nY\n${modemLocation}\nY\n${profileName}\nY\n" \
57-
| mkwvconf --configPath="${configPath}"
56+
mkwvconf --configPath="${configPath}" --countryCode="${countryCode}" --provider="${provider}" --apn="${apn}" --modemDevice="${modemLocation}" --profileName="${profileName}"
5857

5958
cat > "${expectedConfig}" << EOF
6059
@@ -67,8 +66,8 @@ Username =
6766
Password =
6867
Modem = /dev/ttyUSB2
6968
Init1 = ATZ
70-
Init2 = at+cgdcont=1,"ip","orange.ug"
69+
Init2 = at+cgdcont=1,"ip","yellopix.mtn.co.ug"
7170
Stupid Mode = 1
7271
EOF
7372

74-
diff --side-by-side "${expectedConfig}" "${configPath}"
73+

0 commit comments

Comments
 (0)