Browse Source

feat(json-researcher): add subject, test and solution for new a exercise

DEV-4017-prototypes-exercise-1-animals
Zouhair AMAZZAL 2 years ago committed by Zouhair AMAZZAL
parent
commit
b1762c3aac
  1. 16
      sh/tests/json-researcher_test.sh
  2. 1
      sh/tests/solutions/json-researcher.sh
  3. 60
      subjects/json-researcher/README.md

16
sh/tests/json-researcher_test.sh

@ -0,0 +1,16 @@
#!/usr/bin/env bash
# Unofficial Bash Strict Mode
set -euo pipefail
IFS='
'
echo insecure >> ~/.curlrc
caddy start &>/dev/null
submitted=$(bash student/json-researcher.sh)
expected=$(bash solutions/json-researcher.sh)
caddy stop &>/dev/null
diff <(echo "$submitted") <(echo "$expected")

1
sh/tests/solutions/json-researcher.sh

@ -0,0 +1 @@
curl -s https://content.01-edu.org/assets/superhero/all.json | jq '.[] | select(.id==1)' | grep "name\|\"power\""

60
subjects/json-researcher/README.md

@ -0,0 +1,60 @@
## json-researcher
### Instructions
Create the script `json-researcher.sh` wich will show the "name" and the "power" of the superhero with `id: 1`
- Where to look : https://((DOMAIN))/assets/superhero/all.json
- What to use : `curl` and `jq` and `grep`
- The output should be exactly like the example bellow but with the expected name
```console
$./json-researcher.sh | cat -e
"name": "<...>",$
"power": <...>,$
$
```
### Hints
With `curl` you can get the content of the file from the url:
```console
$curl https://assets.01-edu.org/devops-branch/HeadTail.txt
<...>
$
```
`jq` is a command-line utility that can slice, filter, and transform the components of a JSON file
```console
$cat fruit.json
{
"name": "apple",
"color": "green",
"price": 1.0
}
$jq '.color' fruit.json
"green"
$
```
`grep` is a command-line utility for searching plain-text data sets for lines that match a regular expression.
```console
$cat fruit.json
{
"name": "apple",
"color": "green",
"price": 1.0
}
$cat fruit.json | grep color
"color": "green",
$
```
May you will need to use `pipe (|)` and `&&`.
> You have to use Man or Google to know more about commands flags, in order to solve this exercice!
> Google and Man will be your friends!
Loading…
Cancel
Save