52d090ccd6
Based on our analysis [1], there were several identity tests available which weren't included in any interop guideline. This commit adds those tests under a few new capabilities which are added as advisory for now. They will be moved to required after one cycle being under advisory. [1] https://etherpad.opendev.org/p/refstack-test-analysis Change-Id: I38e7860245470689aad6f9d79bbcb7b8528b48f7
72 lines
2.4 KiB
Python
72 lines
2.4 KiB
Python
# Copyright (c) 2021 Red Hat, Inc.
|
|
# All Rights Reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
import argparse
|
|
import json
|
|
import os
|
|
|
|
from refstack.api.guidelines import Guidelines
|
|
|
|
BASE_URL = "https://opendev.org/api/v1/repos/osf/interop/"
|
|
REPO_URL = BASE_URL + "contents/guidelines"
|
|
RAW_URL = "https://opendev.org/api/v1/repos/osf/interop/raw/"
|
|
ADDITIONAL_CAPABILITY_URLS = BASE_URL + "contents/add-ons/guidelines"
|
|
|
|
|
|
def parse_arguments():
|
|
parser = argparse.ArgumentParser(__doc__)
|
|
parser.add_argument('--out', default="./all_next_tests.txt",
|
|
help="Name of the file where all next tests will be"
|
|
"written to.")
|
|
parser.add_argument('--interop-repo', default="./",
|
|
help="A path to the local interop repository the "
|
|
"script will look for the next files in.")
|
|
return parser.parse_args()
|
|
|
|
|
|
def parse_tests(f_path, target):
|
|
g = Guidelines(repo_url=REPO_URL, raw_url=RAW_URL,
|
|
additional_capability_urls=ADDITIONAL_CAPABILITY_URLS)
|
|
f = open(f_path, 'r')
|
|
load_f = json.load(f)
|
|
caps = g.get_target_capabilities(load_f, target=target)
|
|
tests = g.get_test_list(load_f, caps, show_flagged=False)
|
|
return tests
|
|
|
|
|
|
def main():
|
|
args = parse_arguments()
|
|
tests = parse_tests(
|
|
os.path.join(args.interop_repo, 'guidelines/next.json'), 'platform')
|
|
tests += parse_tests(
|
|
os.path.join(args.interop_repo, 'add-ons/guidelines/dns.next.json'),
|
|
'dns')
|
|
tests += parse_tests(
|
|
os.path.join(args.interop_repo,
|
|
'add-ons/guidelines/orchestration.next.json'),
|
|
'orchestration')
|
|
tests += parse_tests(
|
|
os.path.join(args.interop_repo,
|
|
'add-ons/guidelines/shared_file_system.next.json'),
|
|
'shared_file_system')
|
|
f = open(args.out, 'w')
|
|
for t in tests:
|
|
f.write(t + "\n")
|
|
f.close()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|