Rex::Test::Base(3)

πŸ“¦ version 1.14.3, in nixos 26.05, nixpkgs unstable

πŸ’– Rex::Test::Base(3) β€” Basic Test Module πŸ’–

hey bestie!! welcome to the Rex::Test::Base page β€” it’s giving β€œbasic test module but make it useful” and I’m obsessed 🫢✨

✨ NAME ✨

Rex::Test::Base β€” Basic Test Module

🌸 DESCRIPTION 🌸

okay so bestie, this is a basic test module to test your code with the help of local VMs. You can place your tests in the t directory. that’s it, that’s the vibe πŸ’…

πŸŽ€ EXAMPLE πŸŽ€

here’s the example, exactly as it lives β€” copy it with love, no cap:

        use Rex::Test::Base;
        use Data::Dumper;
        use Rex -base;

        test {
          my $t = shift;

          $t->name("ubuntu test");

          $t->base_vm("http://box.rexify.org/box/ubuntu-server-12.10-amd64.ova");
          $t->vm_auth(user => "root", password => "box");

          $t->run_task("setup");

          $t->has_package("vim");
          $t->has_package("ntp");
          $t->has_package("unzip");

          $t->has_file("/etc/ntp.conf");

          $t->has_service_running("ntp");

          $t->has_content("/etc/passwd", qr{root:x:0:}ms);

          run "ls -l";
          $t->ok($? == 0, "ls -l returns success.");

          $t->finish;
        };

        1; # last line

πŸ’… METHODS πŸ’…

🌟 new(name => $test_name)

Constructor if used in OO mode.

my $test = Rex::Test::Base->new(name => "test_name");

πŸ¦‹ name($name)

The name of the test. A VM called $name will be created for each test. If the VM already exists, Rex will try to reuse it. reuse era β™»οΈβœ¨

πŸ“ memory($amount)

The amount of memory the VM should use, in Megabytes 🍰

🧚 cpus($number)

The number of CPUs the VM should use. CPU budget bestie ⚑

πŸ” vm_auth(%auth)

Authentication options for the VM. It accepts the same parameters as Rex::Box::Base->auth(). iykyk πŸ”‘

πŸ–ΌοΈ base_vm($vm)

The URL to a base image to be used for the test VM. base image moment πŸ–ΌοΈ

πŸšͺ redirect_port($port)

Redirect local $port to the VM’s SSH port (default: 2222). port forwarding slay πŸšͺ✨

πŸƒ run_task($task)

The task to run on the test VM. You can run multiple tasks by passing an array reference. run it run it πŸƒπŸ’¨

🧚 TEST METHODS 🧚

πŸ“„ has_content($file, $regexp)

Test if the content of $file matches against $regexp. regex girlies rise πŸ”βœ¨

πŸ“ has_dir($path)

Test if $path is present and is a directory. directory check, periodt πŸ“

πŸ—‚οΈ has_file($file)

Test if $file is present. file found?? iconic πŸ—‚οΈ

πŸ“¦ has_package($package, $version)

Test if $package is installed, optionally at $version. package vibes πŸ“¦

🟒 has_service_running($service)

Test if $service is running. up and running bestie 🟒

πŸ”΄ has_service_stopped($service)

Test if $service is stopped. stopped era πŸ”΄

πŸ“Š has_stat($file, $stat)

Test if $file has properties described in hash reference $stat. List of supported checks:

  • group
  • owner

that’s the stat list, no extras, no cap πŸ“Š


mmkay bestie, that’s the whole page!! source: User Contributed Perl Documentation, version: perl v5.42.3, date: 2023-08-05 β€” bye, love u, periodt πŸ’…πŸ’–πŸ¦‹

πŸ“¦ where this page comes from