Beispiel #1
0
    def test_change_extra_metadata(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base(epidb)

        user_id, user_key = self.get_new_user(epidb)
        self.modify_user_permission(epidb, user_id, "INCLUDE_COLLECTION_TERMS")

        s, id = epidb.add_biosource("lsdjf", "sdf", {
            "a": "b",
            "c": "d"
        }, user_key)

        s = epidb.change_extra_metadata(id, "a", "f", user_key)
        self.assertSuccess(s)

        s = epidb.change_extra_metadata(id, "c", "g", self.admin_key)
        self.assertSuccess(s)

        s, user = epidb.add_user("user2", "email2", "institution2",
                                 self.admin_key)
        self.assertSuccess(s)
        user_id2, user_key2 = user
        self.modify_user_permission(epidb, user_id2,
                                    "INCLUDE_COLLECTION_TERMS")

        s = epidb.change_extra_metadata(id, "c", "g", user_key2)
        self.assertFailure(s)
    def test_change_extra_metadata(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base(epidb)

        sample_id = self.sample_ids[0]
        regions_data = "chr1\t1\t100"
        format = ""

        # adding two experiments with the same data should work
        res = epidb.add_experiment("test_exp1", "hg19", "Methylation",
                                   sample_id, "tech1", "ENCODE", "desc1",
                                   regions_data, format, {
                                       "NAME": "FELIPE",
                                       "LAST_NAME": "ALBRECHT"
                                   }, self.admin_key)
        self.assertSuccess(res)
        _id = res[1]

        res = epidb.change_extra_metadata(_id, "NAME", "JOSE", self.admin_key)
        self.assertSuccess(res)
        res = epidb.change_extra_metadata(_id, "LAST_NAME", "FERNANDES",
                                          self.admin_key)
        self.assertSuccess(res)

        status, info = epidb.info(_id, self.admin_key)
        self.assertSuccess(status, info)
        self.assertEqual({
            "NAME": "JOSE",
            "LAST_NAME": "FERNANDES"
        }, info[0]["extra_metadata"])

        (status, ss) = epidb.search("JOSE", "", self.admin_key)
        self.assertEqual(1, len(ss))
        (status, ss) = epidb.search("FELIPE", "", self.admin_key)
        self.assertEqual(0, len(ss))

        res = epidb.change_extra_metadata(sample_id, "source", "ENCODE",
                                          self.admin_key)
        self.assertSuccess(res)

        s, info = epidb.info(sample_id, self.admin_key)
        self.assertEqual(info[0]["source"], "ENCODE")