stoobly-agent 1.0.12__py3-none-any.whl → 1.0.14__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
stoobly_agent/__init__.py CHANGED
@@ -1,2 +1,2 @@
1
1
  COMMAND = 'stoobly-agent'
2
- VERSION = '1.0.12'
2
+ VERSION = '1.0.14'
@@ -28,7 +28,7 @@ docker_compose_command=docker compose
28
28
  source_env=set -a; [ -f .env ] && source .env; set +a
29
29
 
30
30
  docker_compose_file_path=$(app_data_dir)/docker/stoobly-ui/exec/.docker-compose.exec.yml
31
- stoobly_exec_args=--profile $(EXEC_WORKFLOW_NAME) -p $(EXEC_WORKFLOW_NAME) up --build --remove-orphans
31
+ stoobly_exec_args=--profile $(EXEC_WORKFLOW_NAME) -p $(EXEC_WORKFLOW_NAME) up --build --remove-orphans --pull always
32
32
  stoobly_exec_env=export CONTEXT_DIR=$(context_dir) && export USER_ID=$$UID && export CA_CERTS_DIR="$(ca_certs_dir)"
33
33
  stoobly_exec=$(stoobly_exec_env) && $(source_env) && $(docker_compose_command) -f "$(docker_compose_file_path)" $(stoobly_exec_args)
34
34
 
@@ -46,7 +46,7 @@ certs:
46
46
  $(stoobly_exec)
47
47
  nameservers:
48
48
  @if [ -f /etc/resolv.conf ]; then \
49
- nameserver=$$(grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' /etc/resolv.conf | tr -d '\n') && \
49
+ nameserver=$$(grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' /etc/resolv.conf) && \
50
50
  if [ "$$nameserver" = "127.0.0.53" ]; then \
51
51
  echo "Nameserver is 127.0.0.53. Checking resolvectl status..."; \
52
52
  nameserver=$$(resolvectl status | sed -n '/DNS Servers:/s/.*DNS Servers:\s*\([^ ]*\).*/\1/p' | head -n 1); \
@@ -98,6 +98,11 @@ scenario/delete:
98
98
  export EXEC_OPTIONS="$(options)" && \
99
99
  export EXEC_ARGS="$(key)" && \
100
100
  $(stoobly_exec)
101
+ scenario/list:
102
+ # List scenarios
103
+ @export EXEC_COMMAND=bin/.list && \
104
+ export EXEC_OPTIONS="$(options)" && \
105
+ $(stoobly_exec)
101
106
  scenario/reset:
102
107
  # Resets a scenario to its last snapshot
103
108
  @export EXEC_COMMAND=bin/.reset && \:
@@ -0,0 +1,5 @@
1
+ #!/bin/bash
2
+
3
+ extra_options=$EXEC_OPTIONS
4
+
5
+ stoobly-agent scenario list $extra_options
@@ -21,7 +21,6 @@ LOG_ID = 'WorkflowRunCommand'
21
21
 
22
22
  class UpOptions(TypedDict):
23
23
  attached: bool
24
- exit_code_from: str
25
24
  namespace: str
26
25
 
27
26
  class WorkflowRunCommand(WorkflowCommand):
@@ -130,8 +129,17 @@ class WorkflowRunCommand(WorkflowCommand):
130
129
  if not options.get('attached'):
131
130
  command.append('-d')
132
131
  else:
133
- if options.get('exit_code_from'):
134
- command.append(f"--exit-code-from {options['exit_code_from']}")
132
+ major_version = 2
133
+ minor_version = 27
134
+ patch_version = 0
135
+ min_version = major_version * 10000 + minor_version * 100 + patch_version
136
+ formula = "'{print $1*10000 + $2*100 + $3}'"
137
+ option = f"$(test $(echo $(docker compose version --short) | awk -F. {formula}) -ge {min_version} && echo '--abort-on-container-failure')"
138
+
139
+ # This option enables docker compose to return exit code 1
140
+ # when one of the services exits with a non-zero exit code
141
+ # Otherwise, even if a service exits with a non-zero exit code, exit code 0 is returned
142
+ command.append(option)
135
143
 
136
144
  command.append('--build')
137
145
  command.append('--pull always')
@@ -319,7 +319,6 @@ def logs(**kwargs):
319
319
  @click.option('--detached', is_flag=True, help='If set, will not run the highest priority service in the foreground.')
320
320
  @click.option('--filter', multiple=True, type=click.Choice([WORKFLOW_CUSTOM_FILTER]), help='Select which service groups to run. Defaults to all.')
321
321
  @click.option('--dry-run', default=False, is_flag=True, help='If set, prints commands.')
322
- @click.option('--exit-code-from', help='Name of container service to obtain exit code from.')
323
322
  @click.option('--extra-compose-path', help='Path to extra compose configuration files.')
324
323
  @click.option('--log-level', default=INFO, type=click.Choice([DEBUG, INFO, WARNING, ERROR]), help='''
325
324
  Log levels can be "debug", "info", "warning", or "error"
@@ -385,7 +384,7 @@ def run(**kwargs):
385
384
  # By default, the entrypoint service should be last
386
385
  # However, this can change if the user has configured a service's priority to be higher
387
386
  attached = not kwargs['detached'] and index == len(commands) - 1
388
- exec_command = command.up(attached=attached, exit_code_from=kwargs['exit_code_from'], namespace=kwargs['namespace'])
387
+ exec_command = command.up(attached=attached, namespace=kwargs['namespace'])
389
388
  if not exec_command:
390
389
  continue
391
390
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: stoobly-agent
3
- Version: 1.0.12
3
+ Version: 1.0.14
4
4
  Summary: Record, mock, and test HTTP(s) requests. CLI agent for Stoobly
5
5
  License: Apache-2.0
6
6
  Author: Matt Le
@@ -1,4 +1,4 @@
1
- stoobly_agent/__init__.py,sha256=fpNnGTz0zD56l0rzU3F6VxKtLU_SjNTBMAXJgelQlwA,45
1
+ stoobly_agent/__init__.py,sha256=UFQ7y9T1IOG3GedeAVtTFNwyMneo51TWO_L6IhtlUE0,45
2
2
  stoobly_agent/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  stoobly_agent/app/api/__init__.py,sha256=ctkB8KR-eXO0SFhj602huHiyvQ3PslFWd8fkcufgrAI,1000
4
4
  stoobly_agent/app/api/application_http_request_handler.py,sha256=jf4fkqjOiCeI2IM5Ro7ie0v_C6y0-7-5TIE_IKMPOfg,5513
@@ -101,7 +101,7 @@ stoobly_agent/app/cli/scaffold/service_workflow_validate_command.py,sha256=zvqKm
101
101
  stoobly_agent/app/cli/scaffold/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
102
102
  stoobly_agent/app/cli/scaffold/templates/app/.Dockerfile.context,sha256=1Zm5_ROKZzFMAkMt8dluEJASI2CBi9d9If_Gch9FMNM,193
103
103
  stoobly_agent/app/cli/scaffold/templates/app/.Dockerfile.proxy,sha256=JfZOVALEmRE_hVEMIHTmem9Ln32qnfKOAUO1c5Z9fqw,1027
104
- stoobly_agent/app/cli/scaffold/templates/app/.Makefile,sha256=S2kEyDPSOeTYpyLEjPqGZa-r3nf3vhe23WEpuiidtqM,4717
104
+ stoobly_agent/app/cli/scaffold/templates/app/.Makefile,sha256=JeeaTQ-0wsRKw6aQeopcK_urjC-17kjM3j6JRT7TBaM,4843
105
105
  stoobly_agent/app/cli/scaffold/templates/app/.docker-compose.base.yml,sha256=LNNuygX6hMtmElxaO6jTIYq3psYmxNv7xax7ra6JzO4,407
106
106
  stoobly_agent/app/cli/scaffold/templates/app/Makefile,sha256=t7xRaCc9q3k7W34S0h9KX02GljSVwGpPnFmiLUvWxsw,80
107
107
  stoobly_agent/app/cli/scaffold/templates/app/build/.config.yml,sha256=8Wt8ZZ5irvBYYS44xGrR_EWlZDuXH9kyWmquzsh7s8g,19
@@ -152,6 +152,7 @@ stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.create,sha256=
152
152
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.delete,sha256=RspRDQ7WT5jpN2o-6qXOlH-A2VpN4981pD4ZJljk9Rw,260
153
153
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.disable,sha256=xVf4Pk1RLvJm7Ff0rbGoWhYHPv0ME5e93fxS2yFqLnE,45
154
154
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.enable,sha256=sfUSPG4uHdXX95BLgivXQYLbsLBP2DjJIiSTXRtvXuY,188
155
+ stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.list,sha256=BdX3ARC-Piuwk0vFzBrcxEwtHjdFncpORzqP-hP4IwE,84
155
156
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.mkcert,sha256=vyHaXmvy-7oL2RD8rIxwT-fdJS5kXmB0yHK5fRMo_cM,46
156
157
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.reset,sha256=_pvbLk-ektsCHEh_egDtd6c0sVqCPunwUWggarfoli0,238
157
158
  stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.run,sha256=Jkx7q0MO8pYCSnlOEAEkx2Odgb8xbUeylv_RLHDD8NI,268
@@ -188,9 +189,9 @@ stoobly_agent/app/cli/scaffold/workflow_copy_command.py,sha256=R9hh5dWVz7vGld7pE
188
189
  stoobly_agent/app/cli/scaffold/workflow_create_command.py,sha256=5xnRYrVb2KlSDARZFjLGGWeURXRu63OHoRLEhO-EAvw,3401
189
190
  stoobly_agent/app/cli/scaffold/workflow_env.py,sha256=x8V5pJmIiklD3f2q2-qq-CORf4YaXYq_r2JpR2MmSwk,416
190
191
  stoobly_agent/app/cli/scaffold/workflow_log_command.py,sha256=FN-XyMVnulbassBuqeB21J_PQnOsr_LNs0Dg2tcDkjg,435
191
- stoobly_agent/app/cli/scaffold/workflow_run_command.py,sha256=08E7fFnyTn6N9lgQVxzopWkYl7t_LOs9cGIoWh2GvKg,7251
192
+ stoobly_agent/app/cli/scaffold/workflow_run_command.py,sha256=QIWQ94B-q1_dBpA0XC7abLDwjvtVax0oUNSMq-OPKhk,7721
192
193
  stoobly_agent/app/cli/scaffold/workflow_validate_command.py,sha256=fhHciJXg_u32Wmh8us8LhgQj8D1SxkBADtuBBF4K0FM,4377
193
- stoobly_agent/app/cli/scaffold_cli.py,sha256=3cKiFyDNs__Uz0pIeLFdAgMtH9lpHtNpNaQBb55Z-3Q,18703
194
+ stoobly_agent/app/cli/scaffold_cli.py,sha256=3bMMw5M2uTk0Z3KUB3VGyS9JiS3TCaEpbDSeL6RHUZI,18568
194
195
  stoobly_agent/app/cli/scenario_cli.py,sha256=3J1EiJOvunkfWrEkOsanw-XrKkOk78ij_GjBlE9p7CE,8229
195
196
  stoobly_agent/app/cli/snapshot_cli.py,sha256=XNxpTm5z3bnBGNGI3_XZIif0ypN62WqYfDmShL5fXg4,9965
196
197
  stoobly_agent/app/cli/trace_cli.py,sha256=K7E-vx3JUcqEDSWOdIOi_AieKNQz7dBfmRrVvKDkzFI,4605
@@ -721,8 +722,8 @@ stoobly_agent/test/mock_data/scaffold/docker-compose-local-service.yml,sha256=x7
721
722
  stoobly_agent/test/mock_data/scaffold/index.html,sha256=qJwuYajKZ4ihWZrJQ3BNObV5kf1VGnnm_vqlPJzdqLE,258
722
723
  stoobly_agent/test/mock_data/uspto.yaml,sha256=6U5se7C3o-86J4m9xpOk9Npias399f5CbfWzR87WKwE,7835
723
724
  stoobly_agent/test/test_helper.py,sha256=m_oAI7tmRYCNZdKfNqISWhMv3e44tjeYViQ3nTUfnos,1007
724
- stoobly_agent-1.0.12.dist-info/LICENSE,sha256=8QKGyy45eN76Zk52h8gu1DKX2B_gbWgZ3nzDLofEbaE,548
725
- stoobly_agent-1.0.12.dist-info/METADATA,sha256=6sEDVBgyenOEFxaPIwnLLqJpmoKELTXHsjgJ3QdcpqA,3426
726
- stoobly_agent-1.0.12.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
727
- stoobly_agent-1.0.12.dist-info/entry_points.txt,sha256=aq5wix5oC8MDQtmyPGU0xaFrsjJg7WH28NmXh2sc3Z8,56
728
- stoobly_agent-1.0.12.dist-info/RECORD,,
725
+ stoobly_agent-1.0.14.dist-info/LICENSE,sha256=8QKGyy45eN76Zk52h8gu1DKX2B_gbWgZ3nzDLofEbaE,548
726
+ stoobly_agent-1.0.14.dist-info/METADATA,sha256=luOucCs9hoUlBx2P-Ua2DIZgkxPkm2ln7Nm0wzKtFbw,3426
727
+ stoobly_agent-1.0.14.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
728
+ stoobly_agent-1.0.14.dist-info/entry_points.txt,sha256=aq5wix5oC8MDQtmyPGU0xaFrsjJg7WH28NmXh2sc3Z8,56
729
+ stoobly_agent-1.0.14.dist-info/RECORD,,