Skip to content

Commit 0ab342b

Browse files
committed
tests: ensure last composer version wins
When the same package is added with composer source priority, the version from last add is stored.
1 parent 199adcb commit 0ab342b

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

axiom/tests/test_php_packages.c

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,8 +197,10 @@ static void test_php_package_priority(void) {
197197
#define NO_VERSION NULL
198198
#define PACKAGE_VERSION "1.0.0"
199199
#define COMPOSER_VERSION "1.0.1"
200+
#define COMPOSER_VERSION_2 "2.0.1"
200201
nr_php_package_t* legacy_package;
201202
nr_php_package_t* composer_package;
203+
nr_php_package_t* composer_package_2;
202204
nr_php_package_t* p;
203205
nr_php_packages_t* hm = NULL;
204206
int count;
@@ -248,6 +250,27 @@ static void test_php_package_priority(void) {
248250

249251
nr_php_packages_destroy(&hm);
250252
}
253+
254+
// Package added with composer priority only - last version from composer should win
255+
composer_package = nr_php_package_create_with_source(PACKAGE_NAME, COMPOSER_VERSION, NR_PHP_PACKAGE_SOURCE_COMPOSER); // composer priority
256+
tlib_pass_if_int_equal("create package by uses composer priority", NR_PHP_PACKAGE_SOURCE_COMPOSER, composer_package->source_priority);
257+
258+
composer_package_2 = nr_php_package_create_with_source(PACKAGE_NAME, COMPOSER_VERSION_2, NR_PHP_PACKAGE_SOURCE_COMPOSER); // composer priority
259+
tlib_pass_if_int_equal("create package by uses composer priority", NR_PHP_PACKAGE_SOURCE_COMPOSER, composer_package_2->source_priority);
260+
261+
hm = nr_php_packages_create();
262+
// order of adding packages: composer first, composer second
263+
nr_php_packages_add_package(hm, composer_package);
264+
nr_php_packages_add_package(hm, composer_package_2);
265+
266+
count = nr_php_packages_count(hm);
267+
tlib_pass_if_int_equal("add same package", 1, count);
268+
269+
p = (nr_php_package_t*)nr_hashmap_get(hm->data, PACKAGE_NAME, nr_strlen(PACKAGE_NAME));
270+
tlib_pass_if_not_null("package exists", p);
271+
tlib_pass_if_str_equal("package version from last composer wins", COMPOSER_VERSION_2, p->package_version);
272+
273+
nr_php_packages_destroy(&hm);
251274
}
252275

253276
tlib_parallel_info_t parallel_info

0 commit comments

Comments
 (0)