Support for secured repositories

Added support for secured repositories implemented in 2019.2.7

Closes-Bug: PROD-34296
Change-Id: I3ef2c75aa1f2abfb0f0f66b28c8c9917a5dadac9
diff --git a/test_set/cvp-sanity/tests/test_repo_list.py b/test_set/cvp-sanity/tests/test_repo_list.py
index ef02b6e..17b5fd8 100644
--- a/test_set/cvp-sanity/tests/test_repo_list.py
+++ b/test_set/cvp-sanity/tests/test_repo_list.py
@@ -12,6 +12,18 @@
                                       param='linux:system:repo',
                                       expr_form='compound')
 
+    secure_info = local_salt_client.cmd(
+        tgt='L@' + ','.join(nodes), fun='pillar.get',
+        param='linux:system:common_repo_secured', expr_form='compound')
+
+    secured_repos, username, password = ([], None, None)
+
+    if isinstance(secure_info, dict) and len(secure_info) > 0:
+        info_tmp = secure_info.popitem()[1]
+        if isinstance(info_tmp, dict):
+            secured_repos, username, password = (info_tmp.get(key, [])
+                for key in ['secured_repos', 'user', 'password'])
+
     # check if some repos are disabled
     for node in list(info_salt.keys()):
         repos = info_salt[node]
@@ -24,14 +36,20 @@
             if "enabled" in repository:
                 if not repository["enabled"]:
                     repos.pop(repo)
+            if repo in secured_repos or ('all' in secured_repos and
+                                         repos[repo].get('secure', True)):
+                repos[repo]['source'] = repos[repo]['source'].replace(
+                    '://', '://{}:{}@'.format(username, password))
 
     raw_actual_info = local_salt_client.cmd(
         tgt='L@' + ','.join(nodes),
         param='cat /etc/apt/sources.list.d/*;'
               'cat /etc/apt/sources.list|grep deb|grep -v "#"',
         expr_form='compound', check_status=True)
-    actual_repo_list = [item.replace('/ ', ' ').replace('[arch=amd64] ', '')
-                        for item in list(raw_actual_info.values())[0].split('\n')]
+    actual_repo_list = [
+        item.replace('/ ', ' ').replace('[arch=amd64] ', '')
+        for item in list(raw_actual_info.values())[0].split('\n')
+    ]
     if list(info_salt.values())[0] == '':
         expected_salt_data = ''
     else: