Ejemplo n.º 1
0
    def test_distinct_cmodels(self, mocksunburnt, mockrequests):
        # set empty response
        mockrequests.codes.ok = 200
        mocksession = mockrequests.Session.return_value
        mocksession.get.return_value.status_code = 200
        mocksession.get.return_value.json.return_value = {}

        index = SiteIndex("http://foo/index", "foo")
        cmodels = {
            "coll": "info:fedora/emory-control:Collection-1.1",
            "audio": "info:fedora/emory-control:EuterpeAudio-1.0",
            "item": "info:fedora/emory-control:Item-1.0",
        }
        # set some content model combinations for testing
        index.content_models = [
            set([cmodels["coll"]]),
            set([cmodels["audio"]]),
            set([cmodels["coll"], cmodels["audio"]]),
            set([cmodels["item"]]),
            set([cmodels["audio"], cmodels["item"]]),
        ]
        distinct_cmodels = index.distinct_content_models()
        # each cmodel should be included once and only once
        self.assert_(cmodels["coll"] in distinct_cmodels)
        self.assert_(cmodels["audio"] in distinct_cmodels)
        self.assert_(cmodels["item"] in distinct_cmodels)
        self.assertEqual(len(cmodels.keys()), len(distinct_cmodels))