Add some basic unittests for metadata sanity
Reviewed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com> Co-authored-by: gtema <artem.goncharov@gmail.com> Co-committed-by: gtema <artem.goncharov@gmail.com>
This commit is contained in:
		@ -21,8 +21,45 @@ 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_something(self):
 | 
			
		||||
        pass
 | 
			
		||||
    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",
 | 
			
		||||
            )
 | 
			
		||||
 | 
			
		||||
    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",
 | 
			
		||||
            )
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user