Reviewed-by: gtema <artem.goncharov@gmail.com> Co-authored-by: Hasko, Vladimir <vladimir.hasko@t-systems.com> Co-committed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
		
			
				
	
	
		
			71 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
# -*- coding: utf-8 -*-
 | 
						|
 | 
						|
# 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.
 | 
						|
 | 
						|
"""
 | 
						|
test_otc-metadata
 | 
						|
----------------------------------
 | 
						|
 | 
						|
Tests for `otc-metadata` module.
 | 
						|
"""
 | 
						|
 | 
						|
from unittest import TestCase
 | 
						|
 | 
						|
from otc_metadata import services
 | 
						|
 | 
						|
 | 
						|
class TestOtcMetadata(TestCase):
 | 
						|
    def setUp(self):
 | 
						|
        self.data = services.Services()
 | 
						|
 | 
						|
    def test_data_is_sorted(self):
 | 
						|
        curr = self.data
 | 
						|
        new = services.Services()
 | 
						|
        new._sort_data()
 | 
						|
        self.assertEqual(
 | 
						|
            curr._service_data, new._service_data, "Data is sorted properly"
 | 
						|
        )
 | 
						|
 | 
						|
    def test_service_categories(self):
 | 
						|
        category = dict()
 | 
						|
        for cat in self.data._service_data["service_categories"]:
 | 
						|
            category[cat["name"]] = cat["title"]
 | 
						|
        for srv in self.data.all_services:
 | 
						|
            self.assertTrue(
 | 
						|
                srv["service_category"] in category,
 | 
						|
                f"Category {srv['service_category']} is present",
 | 
						|
            )
 | 
						|
        self.assertGreater(
 | 
						|
            len(self.data._service_data["service_categories"]),
 | 
						|
            1,
 | 
						|
            "More then 1 service category",
 | 
						|
        )
 | 
						|
 | 
						|
    def test_doc_contains_required_data(self):
 | 
						|
        srv_types = dict()
 | 
						|
        for srv in self.data.all_services:
 | 
						|
            srv_types[srv["service_type"]] = srv
 | 
						|
        for doc in self.data.all_docs:
 | 
						|
            for attr in [
 | 
						|
                "rst_location",
 | 
						|
                "service_type",
 | 
						|
                "title",
 | 
						|
                "type",
 | 
						|
            ]:
 | 
						|
                self.assertIn(attr, doc, f"Document {doc} contains {attr}")
 | 
						|
            self.assertIn(
 | 
						|
                doc["service_type"],
 | 
						|
                srv_types,
 | 
						|
                f"Document {doc} contains valid service_type",
 | 
						|
            )
 |