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",
 | |
|             )
 |