def test_conan_data_as_source_newtools(self): tgz_path = tgz_with_contents({"foo.txt": "foo"}) if sys.version_info.major == 3 and sys.version_info.minor >= 9: # Python 3.9 changed the tar algorithm. Conan tgz will have different checksums # https://github.com/conan-io/conan/issues/8020 md5_value = "7ebdc5ed79b7b72f3a6010da3671ae05" sha1_value = "862c1b58de1dfadaad3206b453b4de731c1751af" sha256_value = "25200fc2bd7f430358cd7a7c5ce4a84396e8ec68a1e9d8880994b1236f214972" else: md5_value = "2ef49b5a102db1abb775eaf1922d5662" sha1_value = "18dbea2d9a97bb9e9948604a41976bba5b5940bf" sha256_value = "9619013c1f7b83cca4bf3f336f8b4525a23d5463e0768599fe5339e02dd0a338" self.assertEqual(md5_value, md5sum(tgz_path)) self.assertEqual(sha1_value, sha1sum(tgz_path)) self.assertEqual(sha256_value, sha256sum(tgz_path)) # Instance stoppable thread server and add endpoints thread = StoppableThreadBottle() @thread.server.get("/myfile.tar.gz") def get_file(): return static_file(os.path.basename(tgz_path), root=os.path.dirname(tgz_path), mimetype="") thread.run_server() client = TestClient() conanfile = textwrap.dedent(""" from conans import ConanFile from conan.tools.files import get class Lib(ConanFile): def source(self): data = self.conan_data["sources"]["all"] get(self, **data) self.output.info("OK!") """) conandata = textwrap.dedent(""" sources: all: url: "http://*****:*****@user/testing") client.run("create . {}".format(ref)) self.assertIn("OK!", client.out) source_folder = client.cache.package_layout(ref).source() downloaded_file = os.path.join(source_folder, "foo.txt") self.assertEqual("foo", load(downloaded_file))
def conan_data_as_source_test(self): tgz_path = tgz_with_contents({"foo.txt": "foo"}) md5_value = "2ef49b5a102db1abb775eaf1922d5662" sha1_value = "18dbea2d9a97bb9e9948604a41976bba5b5940bf" sha256_value = "9619013c1f7b83cca4bf3f336f8b4525a23d5463e0768599fe5339e02dd0a338" self.assertEqual(md5_value, md5sum(tgz_path)) self.assertEqual(sha1_value, sha1sum(tgz_path)) self.assertEqual(sha256_value, sha256sum(tgz_path)) # Instance stoppable thread server and add endpoints thread = StoppableThreadBottle() @thread.server.get("/myfile.tar.gz") def get_file(): return static_file(os.path.basename(tgz_path), root=os.path.dirname(tgz_path), mimetype="") thread.run_server() client = TestClient() conanfile = textwrap.dedent(""" from conans import ConanFile, tools class Lib(ConanFile): def source(self): data = self.conan_data["sources"]["all"] tools.get(**data) self.output.info("OK!") """) conandata = textwrap.dedent(""" sources: all: url: "http://*****:*****@user/testing") client.run("create . {}".format(ref)) self.assertIn("OK!", client.out) source_folder = client.cache.package_layout(ref).source() downloaded_file = os.path.join(source_folder, "foo.txt") self.assertEqual("foo", load(downloaded_file))