From d1de219bbb56f0450957c8ffabb5ebaf63846132 Mon Sep 17 00:00:00 2001 From: dottorblaster Date: Wed, 24 Apr 2024 10:50:35 +0000 Subject: [PATCH] deploy: ef55a7f5f7b5f38fa9c5c4a34340a093ac3bd362 --- Wanda.DataCase.html | 6 +++--- Wanda.epub | Bin 537850 -> 537848 bytes gatherers.html | 2 +- hack_on_wanda.html | 2 +- readme.html | 8 ++++---- specification.html | 6 +++--- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Wanda.DataCase.html b/Wanda.DataCase.html index d8d7dd38..a71d5a61 100644 --- a/Wanda.DataCase.html +++ b/Wanda.DataCase.html @@ -208,9 +208,9 @@

errors_on(changeset)

-

A helper that transforms changeset errors into a map of messages.

assert {:error, changeset} = Accounts.create_user(%{password: "short"})
-assert "password is too short" in errors_on(changeset).password
-assert %{password: ["password is too short"]} = errors_on(changeset)
+

A helper that transforms changeset errors into a map of messages.

assert {:error, changeset} = Accounts.create_user(%{password: "short"})
+assert "password is too short" in errors_on(changeset).password
+assert %{password: ["password is too short"]} = errors_on(changeset)
diff --git a/Wanda.epub b/Wanda.epub index f0a66ee7cdda91600b903c51cbc256cf477cc6e3..c3f2cb46112cc0d31b05f1071ab2e6130f8f3452 100644 GIT binary patch delta 12795 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%0D<1u}Ms>b_TzB&K2U0gh@)@FM6 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 diff --git a/gatherers.html b/gatherers.html index c64315a2..72cc76b0 100644 --- a/gatherers.html +++ b/gatherers.html @@ -136,7 +136,7 @@

Introduction

-

Gatherers can be thought of as functions:

  • they have a name
  • they accept argument(s)
  • they return a value, the gathered Fact

Facts Gathering process in a nutshell

fact = gatherer(argument)

+

Gatherers can be thought of as functions:

  • they have a name
  • they accept argument(s)
  • they return a value, the gathered Fact

Facts Gathering process in a nutshell

fact = gatherer(argument)

diff --git a/hack_on_wanda.html b/hack_on_wanda.html index 3b6c8226..d9accb27 100644 --- a/hack_on_wanda.html +++ b/hack_on_wanda.html @@ -142,7 +142,7 @@

Ensure Compatibility with asdf

-

asdf allows using specific versions of programming language tools that are known to be compatible with the project, rather than relying on the version that's installed globally on the host system.

In order to use asdf, follow the official asdf getting started guide.

Install all required asdf plugins from .tool-versions inside the web repository.

cut -d' ' -f1 .tool-versions|xargs -i asdf plugin add  {}

Set up the asdf environment

asdf install

+

asdf allows using specific versions of programming language tools that are known to be compatible with the project, rather than relying on the version that's installed globally on the host system.

In order to use asdf, follow the official asdf getting started guide.

Install all required asdf plugins from .tool-versions inside the web repository.

cut -d' ' -f1 .tool-versions|xargs -i asdf plugin add  {}

Set up the asdf environment

asdf install

diff --git a/readme.html b/readme.html index d16a9b51..5aa2dc98 100644 --- a/readme.html +++ b/readme.html @@ -272,14 +272,14 @@

Often times knowing the returned value of the gathered facts is not a trivial thing, more during the implementation of new checks.

To better debug the fact gathering process and the returned values, the facts subcommand of trento-agent is a really useful tool. This command helps to see in the target itself what the gathered fact looks like. This is specially interesting when the returned value is a complex object or the target under test is modified and the check developer wants to see how this affects the gathered fact.

The command can be used as:

./trento-agent facts gather --gatherer corosync.conf --argument totem.token
 # To see the currently available gatherers and their names
-# ./trento-agent facts list

Which would return the next where the Value is the available value in the written check:

{
+# ./trento-agent facts list

Which would return the next where the Value is the available value in the written check:

{
   "Name": "totem.token",
   "CheckID": "",
-  "Value": {
+  "Value": {
     "Value": 30000
-  },
+  },
   "Error": null
-}

+}

diff --git a/specification.html b/specification.html index 1bcac4b9..2a1e5707 100644 --- a/specification.html +++ b/specification.html @@ -521,12 +521,12 @@

- name: bar_expectation expect: facts.bar == values.expected_bar
  • Pipe the expression language functions vertically in order to provide a better visual output of the code.
    So this:

    expectations:
       - name: some_expectation
    -    expect: facts.foo.find(|item| item.id == "super").properties.find(|prop| prop.name == "good").value

    would be:

    expectations:
    +    expect: facts.foo.find(|item| item.id == "super").properties.find(|prop| prop.name == "good").value

    would be:

    expectations:
       - name: some_expectation
         expect: |
           facts.foo
    -      .find(|item| item.id == "super").properties
    -      .find(|prop| prop.name == "good").value

    Note: Keep in mind that some functions such as sort and drain run in-place modifications, so they cannot be piped.

  • + .find(|item| item.id == "super").properties + .find(|prop| prop.name == "good").value

    Note: Keep in mind that some functions such as sort and drain run in-place modifications, so they cannot be piped.