File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -30,6 +30,7 @@ class ConfigCollection(Collection):
3030
3131 def create (self , ** kwargs ):
3232 obj = self .client .api .create_config (** kwargs )
33+ obj .setdefault ("Spec" , {})["Name" ] = kwargs .get ("name" )
3334 return self .prepare_model (obj )
3435 create .__doc__ = APIClient .create_config .__doc__
3536
Original file line number Diff line number Diff line change 1919FAKE_NODE_ID = '24ifsmvkjbyhk'
2020FAKE_SECRET_ID = 'epdyrw4tsi03xy3deu8g8ly6o'
2121FAKE_SECRET_NAME = 'super_secret'
22+ FAKE_CONFIG_ID = 'sekvs771242jfdjnvfuds8232'
23+ FAKE_CONFIG_NAME = 'super_config'
2224
2325# Each method is prefixed with HTTP method (get, post...)
2426# for clarity and readability
@@ -512,6 +514,11 @@ def post_fake_secret():
512514 response = {'ID' : FAKE_SECRET_ID }
513515 return status_code , response
514516
517+ def post_fake_config ():
518+ status_code = 200
519+ response = {'ID' : FAKE_CONFIG_ID }
520+ return status_code , response
521+
515522
516523# Maps real api url to fake response callback
517524prefix = 'http+docker://localhost'
@@ -630,4 +637,6 @@ def post_fake_secret():
630637 post_fake_network_disconnect ,
631638 f'{ prefix } /{ CURRENT_VERSION } /secrets/create' :
632639 post_fake_secret ,
640+ f'{ prefix } /{ CURRENT_VERSION } /configs/create' :
641+ post_fake_config ,
633642}
Original file line number Diff line number Diff line change @@ -37,6 +37,7 @@ def make_fake_api_client(overrides=None):
3737 'create_host_config.side_effect' : api_client .create_host_config ,
3838 'create_network.return_value' : fake_api .post_fake_network ()[1 ],
3939 'create_secret.return_value' : fake_api .post_fake_secret ()[1 ],
40+ 'create_config.return_value' : fake_api .post_fake_config ()[1 ],
4041 'exec_create.return_value' : fake_api .post_fake_exec_create ()[1 ],
4142 'exec_start.return_value' : fake_api .post_fake_exec_start ()[1 ],
4243 'images.return_value' : fake_api .get_fake_images ()[1 ],
Original file line number Diff line number Diff line change 1+ import unittest
2+
3+ from .fake_api_client import make_fake_client
4+ from .fake_api import FAKE_CONFIG_NAME
5+
6+ class CreateConfigsTest (unittest .TestCase ):
7+ def test_create_config (self ):
8+ client = make_fake_client ()
9+ config = client .configs .create (name = "super_config" , data = "config" )
10+ assert config .__repr__ () == "<Config: '{}'>" .format (FAKE_CONFIG_NAME )
You can’t perform that action at this time.
0 commit comments