feat(ansible): add b64encode filter support
Co-authored-by: Virgil <virgil@lethean.io>
This commit is contained in:
parent
b3f2cc3fc6
commit
f5c4f16d42
2 changed files with 18 additions and 0 deletions
|
|
@ -2680,6 +2680,11 @@ func (e *Executor) applyFilter(value, filter string) string {
|
|||
return value
|
||||
}
|
||||
|
||||
// Handle b64encode
|
||||
if filter == "b64encode" {
|
||||
return base64.StdEncoding.EncodeToString([]byte(value))
|
||||
}
|
||||
|
||||
return value
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1049,6 +1049,11 @@ func TestExecutorExtra_ApplyFilter_Good_B64Decode(t *testing.T) {
|
|||
assert.Equal(t, "hello", e.applyFilter("aGVsbG8=", "b64decode"))
|
||||
}
|
||||
|
||||
func TestExecutorExtra_ApplyFilter_Good_B64Encode(t *testing.T) {
|
||||
e := NewExecutor("/tmp")
|
||||
assert.Equal(t, "aGVsbG8=", e.applyFilter("hello", "b64encode"))
|
||||
}
|
||||
|
||||
func TestExecutorExtra_ApplyFilter_Good_UnknownFilter(t *testing.T) {
|
||||
e := NewExecutor("/tmp")
|
||||
assert.Equal(t, "value", e.applyFilter("value", "unknown_filter"))
|
||||
|
|
@ -1076,3 +1081,11 @@ func TestExecutorExtra_ResolveExpr_Good_WithFilter(t *testing.T) {
|
|||
result := e.resolveExpr("raw_value | trim", "host1", nil)
|
||||
assert.Equal(t, "trimmed", result)
|
||||
}
|
||||
|
||||
func TestExecutorExtra_ResolveExpr_Good_WithB64Encode(t *testing.T) {
|
||||
e := NewExecutor("/tmp")
|
||||
e.vars["raw_value"] = "hello"
|
||||
|
||||
result := e.resolveExpr("raw_value | b64encode", "host1", nil)
|
||||
assert.Equal(t, "aGVsbG8=", result)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue