stoobly-agent 1.1.1__py3-none-any.whl → 1.1.3__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.1.1'
2
+ VERSION = '1.1.3'
@@ -23,6 +23,10 @@ class CertificateAuthority():
23
23
 
24
24
  def __init__(self, certs_dir = DataDir.instance().mitmproxy_conf_dir_path, cn = MITMPROXY_CN):
25
25
  self.certs_dir = certs_dir
26
+
27
+ if not os.path.exists(certs_dir):
28
+ self.generate_certs()
29
+
26
30
  self.cn = cn
27
31
  self.key_size = 2048
28
32
 
@@ -55,7 +59,7 @@ class CertificateAuthority():
55
59
 
56
60
  def generate_certs(self):
57
61
  if not os.path.exists(self.certs_dir):
58
- os.makedirs(self.certs_dir)
62
+ os.makedirs(self.certs_dir, exist_ok=True)
59
63
 
60
64
  path = Path(self.certs_dir)
61
65
  CertStore.create_store(path, self.cn, self.key_size)
@@ -6,7 +6,7 @@ from stoobly_agent.config.data_dir import DataDir, DATA_DIR_NAME
6
6
  class App():
7
7
 
8
8
  def __init__(self, path: str, namespace: str, **kwargs):
9
- path = path or os.getcwd()
9
+ path = os.path.abspath(path) or os.getcwd()
10
10
  data_dir: DataDir = DataDir.instance(path)
11
11
 
12
12
  self.__scaffold_dir_path = data_dir.path
@@ -54,7 +54,7 @@ class ServiceBuilder(Builder):
54
54
 
55
55
  @property
56
56
  def service_mount(self):
57
- return f"{self.dir_path}:{STOOBLY_HOME_DIR}"
57
+ return f".:{STOOBLY_HOME_DIR}"
58
58
 
59
59
  @property
60
60
  def service_name(self):
@@ -14,7 +14,7 @@ CONTEXT_DIR_DEFAULT := $(realpath $(DIR)/../..)
14
14
 
15
15
  # Configuration
16
16
  app_dir=$$(realpath "$${STOOBLY_APP_DIR:-$(CONTEXT_DIR_DEFAULT)}")
17
- ca_certs_dir=$$(realpath "$${STOOBLY_CA_CERTS_DIR:-$$(realpath ~/.mitmproxy)}")
17
+ ca_certs_dir=$$(realpath "$${STOOBLY_CA_CERTS_DIR:-$$(realpath ~)/.mitmproxy}")
18
18
  certs_dir=$$(realpath "$${STOOBLY_CERTS_DIR:-$(app_data_dir)/certs}")
19
19
  context_dir=$$(realpath "$${STOOBLY_CONTEXT_DIR:-$(CONTEXT_DIR_DEFAULT)}")
20
20
  workflow_run_options=$${STOOBLY_WORKFLOW_RUN_OPTIONS:+$$STOOBLY_WORKFLOW_RUN_OPTIONS }
@@ -44,7 +44,7 @@ workflow_run=$(workflow_run_env) && $(source_env) && bash "$(workflow_run_script
44
44
  certs:
45
45
  @export EXEC_COMMAND=bin/.mkcert && \
46
46
  $(stoobly_exec)
47
- nameservers:
47
+ nameservers: tmpdir
48
48
  @if [ -f /etc/resolv.conf ]; then \
49
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 \
@@ -144,4 +144,6 @@ test/stop:
144
144
  export EXEC_OPTIONS="$(options)" && \
145
145
  export EXEC_ARGS="test" && \
146
146
  $(stoobly_exec_run) && \
147
- $(workflow_run)
147
+ $(workflow_run)
148
+ tmpdir:
149
+ @mkdir -p $(app_tmp_dir)
@@ -311,7 +311,7 @@ def logs(**kwargs):
311
311
  sys.exit(1)
312
312
 
313
313
  workflow = Workflow(kwargs['workflow_name'], app)
314
- services = __get_services(workflow.services, service=kwargs['service'])
314
+ services = __get_services(workflow.services, service=kwargs['service'], without_core=True)
315
315
 
316
316
  commands: List[WorkflowLogCommand] = []
317
317
  for service in services:
@@ -468,6 +468,13 @@ def __get_services(services: List[str], **kwargs):
468
468
  if kwargs['service']:
469
469
  # If service is specified, run only those services
470
470
  services = list(kwargs['service'])
471
+
472
+ if not kwargs.get('without_core'):
473
+ services += CORE_SERVICES
474
+ else:
475
+ # If set, filter out core services
476
+ if kwargs.get('without_core'):
477
+ services = list(filter(lambda service: service not in CORE_SERVICES, services))
471
478
 
472
479
  return list(set(services))
473
480
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: stoobly-agent
3
- Version: 1.1.1
3
+ Version: 1.1.3
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=IlFUNPLz6SuE8bQ22V8mFZ_mfiE3LRfZnzHNmTGs_so,44
1
+ stoobly_agent/__init__.py,sha256=RDVATMzONZZkAKiL7eEYtrHytxhxShWZgElMHXzqw3w,44
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
@@ -28,7 +28,7 @@ stoobly_agent/app/cli/feature_cli.py,sha256=d-MUTbK3gbZxZNJUjM43fioZyhPyzetQNKjI
28
28
  stoobly_agent/app/cli/handlers/request_cli_handler.py,sha256=IPToK9OfiDda-mkq8HpiSSqK2m-UR15-8f8LVoLAHTA,6965
29
29
  stoobly_agent/app/cli/handlers/scenario_cli_handler.py,sha256=1KSsfhR1mmPUCmhjzWTjf_L9NcQglLvVK3KURrPt92A,7425
30
30
  stoobly_agent/app/cli/helpers/__init__.py,sha256=26ODsQi5NoJPwq4Ya7_lmtRalhhXOr_jfdZQWGLy6Gc,161
31
- stoobly_agent/app/cli/helpers/certificate_authority.py,sha256=d9hW_p3Uvnh5VAE0pCQMRTH77ihON7a-qUMCTbjOaqI,7178
31
+ stoobly_agent/app/cli/helpers/certificate_authority.py,sha256=viOVNN6cPFPQk_tHF2pQbW7wto5Prqk_tNjWIidIGuk,7271
32
32
  stoobly_agent/app/cli/helpers/context.py,sha256=Jv97ueNnqea5UDm57VOUiQSHKWBeNlCcrq5-qW2tcwQ,1624
33
33
  stoobly_agent/app/cli/helpers/endpoint_facade.py,sha256=_1TR9PcRnqpl9Q4njFHMM_Btqpr6cCf757FFcywa3oU,2318
34
34
  stoobly_agent/app/cli/helpers/endpoints_apply_context.py,sha256=PvUzJLXNKl6wIQj2q8YZK1MAm1yqzDLLlpCYMoyWb9I,1831
@@ -67,7 +67,7 @@ stoobly_agent/app/cli/project_cli.py,sha256=EXjeLjbnq9PhfCjvyfZ0UnJ2tejeCS0SIAo3
67
67
  stoobly_agent/app/cli/report_cli.py,sha256=ZxJw0Xkx7KFZJn9e45BSKRKon8AD0Msrwy1fbPfbv0c,2543
68
68
  stoobly_agent/app/cli/request_cli.py,sha256=THNloW111l9MLE0oPg4y7hVXL1U7OXoz760g0A1CtJ0,7747
69
69
  stoobly_agent/app/cli/scaffold/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
- stoobly_agent/app/cli/scaffold/app.py,sha256=jmOn0moveA4pgCgI6i_RzztaNh-GK17FaznU9B9tmsc,3648
70
+ stoobly_agent/app/cli/scaffold/app.py,sha256=8YJtx0-PcnnNod31OaSv0K53Xb38pn2eDedj-a7QXCY,3665
71
71
  stoobly_agent/app/cli/scaffold/app_command.py,sha256=o6WV6tcMGBWJsPFdV2DD-m1Dq0cy3Q3SESokaU5hgp4,2061
72
72
  stoobly_agent/app/cli/scaffold/app_config.py,sha256=ZAHGovwxFy3zICfusj9_gUC_FBTIoB7KbPbQaGK8x1c,573
73
73
  stoobly_agent/app/cli/scaffold/app_create_command.py,sha256=1qdKvRvJDmDmYERvbhaUapsglOOWPEHpCj0o7U7bQfo,550
@@ -80,7 +80,7 @@ stoobly_agent/app/cli/scaffold/docker/builder.py,sha256=lNOvDxoLB1L8KSDrvoG4CUuW
80
80
  stoobly_agent/app/cli/scaffold/docker/constants.py,sha256=bYq2i3iib_YhdE-wtL42qnwPbtfgMSwtfGpT4nFT0fk,394
81
81
  stoobly_agent/app/cli/scaffold/docker/service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
82
  stoobly_agent/app/cli/scaffold/docker/service/build_decorator.py,sha256=ZU7z4bkvdS3OK5O4fJhlA9_PNwnFtZW6t7vNF7V5obQ,1003
83
- stoobly_agent/app/cli/scaffold/docker/service/builder.py,sha256=jJyC9fpJ0N-s-ALN33WHxzXq5Dwdfoq9enFEAeCwiCc,3221
83
+ stoobly_agent/app/cli/scaffold/docker/service/builder.py,sha256=vj7Vm7eK8E8DPtD4o5X0IJA4HPdgtA2lV2wm3nGTa1c,3207
84
84
  stoobly_agent/app/cli/scaffold/docker/service/set_gateway_ports.py,sha256=jvlO5xjATNIp8Gr0yP2O7a68bOK-8cAiKNqRWCFzK1s,1221
85
85
  stoobly_agent/app/cli/scaffold/docker/service/types.py,sha256=qB-yYHlu-PZDc0HYgTUvE5bWNpHxaSThC3JUG8okR1k,88
86
86
  stoobly_agent/app/cli/scaffold/docker/workflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -103,7 +103,7 @@ stoobly_agent/app/cli/scaffold/service_workflow_validate_command.py,sha256=z7Z_v
103
103
  stoobly_agent/app/cli/scaffold/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
104
104
  stoobly_agent/app/cli/scaffold/templates/app/.Dockerfile.context,sha256=qvZFhJxfGAYMKr2VfYye5LX264phfl4cIfkS-TJs2-w,193
105
105
  stoobly_agent/app/cli/scaffold/templates/app/.Dockerfile.proxy,sha256=HN2tv7dfJL9riJUrrtQRHZTC2QeSTf06tQ8aBhdHAaw,1027
106
- stoobly_agent/app/cli/scaffold/templates/app/.Makefile,sha256=Mh-7WSHoedgg0pvRGL8xNGjx0c-DkPbEFRm-eStQdKM,5331
106
+ stoobly_agent/app/cli/scaffold/templates/app/.Makefile,sha256=PcprOXanBlsMCswcip0QDBLvaUiHD-1gSxhgUOoDfVA,5372
107
107
  stoobly_agent/app/cli/scaffold/templates/app/.docker-compose.base.yml,sha256=LNNuygX6hMtmElxaO6jTIYq3psYmxNv7xax7ra6JzO4,407
108
108
  stoobly_agent/app/cli/scaffold/templates/app/Makefile,sha256=t7xRaCc9q3k7W34S0h9KX02GljSVwGpPnFmiLUvWxsw,80
109
109
  stoobly_agent/app/cli/scaffold/templates/app/build/.config.yml,sha256=8Wt8ZZ5irvBYYS44xGrR_EWlZDuXH9kyWmquzsh7s8g,19
@@ -194,7 +194,7 @@ stoobly_agent/app/cli/scaffold/workflow_env.py,sha256=x8V5pJmIiklD3f2q2-qq-CORf4
194
194
  stoobly_agent/app/cli/scaffold/workflow_log_command.py,sha256=Bke4lMOMxuDUFuAx9nlXHbKgYMO4KAg9ASHvjz4aVWc,1372
195
195
  stoobly_agent/app/cli/scaffold/workflow_run_command.py,sha256=ounJeIp1_baB5baWPyAvudI9PJZ4tuJ_BPnVdjvzkqo,7685
196
196
  stoobly_agent/app/cli/scaffold/workflow_validate_command.py,sha256=fhHciJXg_u32Wmh8us8LhgQj8D1SxkBADtuBBF4K0FM,4377
197
- stoobly_agent/app/cli/scaffold_cli.py,sha256=DC86eiaggAHBVWEGumGzwJKCSa0kFvxB9LE2IR47bqo,19178
197
+ stoobly_agent/app/cli/scaffold_cli.py,sha256=RaJD3EwCKYLFHWd1tSTcf_0hK4tGvTGB078LdPreDPM,19437
198
198
  stoobly_agent/app/cli/scenario_cli.py,sha256=3J1EiJOvunkfWrEkOsanw-XrKkOk78ij_GjBlE9p7CE,8229
199
199
  stoobly_agent/app/cli/snapshot_cli.py,sha256=XNxpTm5z3bnBGNGI3_XZIif0ypN62WqYfDmShL5fXg4,9965
200
200
  stoobly_agent/app/cli/trace_cli.py,sha256=K7E-vx3JUcqEDSWOdIOi_AieKNQz7dBfmRrVvKDkzFI,4605
@@ -728,8 +728,8 @@ stoobly_agent/test/mock_data/scaffold/docker-compose-local-service.yml,sha256=x7
728
728
  stoobly_agent/test/mock_data/scaffold/index.html,sha256=qJwuYajKZ4ihWZrJQ3BNObV5kf1VGnnm_vqlPJzdqLE,258
729
729
  stoobly_agent/test/mock_data/uspto.yaml,sha256=6U5se7C3o-86J4m9xpOk9Npias399f5CbfWzR87WKwE,7835
730
730
  stoobly_agent/test/test_helper.py,sha256=m_oAI7tmRYCNZdKfNqISWhMv3e44tjeYViQ3nTUfnos,1007
731
- stoobly_agent-1.1.1.dist-info/LICENSE,sha256=8QKGyy45eN76Zk52h8gu1DKX2B_gbWgZ3nzDLofEbaE,548
732
- stoobly_agent-1.1.1.dist-info/METADATA,sha256=qB3HruZM5v0-w9aWTi87iczgR30dbZRBary-OLMJvvU,3384
733
- stoobly_agent-1.1.1.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
734
- stoobly_agent-1.1.1.dist-info/entry_points.txt,sha256=aq5wix5oC8MDQtmyPGU0xaFrsjJg7WH28NmXh2sc3Z8,56
735
- stoobly_agent-1.1.1.dist-info/RECORD,,
731
+ stoobly_agent-1.1.3.dist-info/LICENSE,sha256=8QKGyy45eN76Zk52h8gu1DKX2B_gbWgZ3nzDLofEbaE,548
732
+ stoobly_agent-1.1.3.dist-info/METADATA,sha256=y124kMIiYQVNrhZKo3lOwJ3wbiprV1vBqF_4wYhPEgc,3384
733
+ stoobly_agent-1.1.3.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
734
+ stoobly_agent-1.1.3.dist-info/entry_points.txt,sha256=aq5wix5oC8MDQtmyPGU0xaFrsjJg7WH28NmXh2sc3Z8,56
735
+ stoobly_agent-1.1.3.dist-info/RECORD,,