Midnighter / structurizr-python

A Python 3 port of Simon Brown's Structurizr diagrams-as-code architecture description tool.
https://structurizr.com/
Apache License 2.0
65 stars 16 forks source link

Issue #62: improve syntax for locking workspaces #74

Closed yt-ms closed 3 years ago

yt-ms commented 3 years ago

Added lock() method to ClientWorkspace to use for with blocks in favour of using the client directly. For the moment, the old way is still there but we should remove in a future release.

On free plans, workspace locking is not supported, so ignore lock failures (credits to @maximveksler).


THIS SOFTWARE IS CONTRIBUTED SUBJECT TO THE TERMS OF THE Apache License v.2.0. YOU MAY OBTAIN A COPY OF THE LICENSE AT https://www.apache.org/licenses/LICENSE-2.0.

THIS SOFTWARE IS LICENSED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AND ANY WARRANTY OF NON-INFRINGEMENT, ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THIS SOFTWARE MAY BE REDISTRIBUTED TO OTHERS ONLY BY EFFECTIVELY USING THIS OR ANOTHER EQUIVALENT DISCLAIMER IN ADDITION TO ANY OTHER REQUIRED LICENSE TERMS.

codecov-commenter commented 3 years ago

Codecov Report

Merging #74 (2d5a73e) into devel (9e2e5a2) will increase coverage by 0.30%. The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##            devel      #74      +/-   ##
==========================================
+ Coverage   91.57%   91.87%   +0.30%     
==========================================
  Files          70       70              
  Lines        2125     2155      +30     
  Branches      210      215       +5     
==========================================
+ Hits         1946     1980      +34     
+ Misses        160      158       -2     
+ Partials       19       17       -2     
Impacted Files Coverage Δ
src/structurizr/api/structurizr_client.py 84.66% <100.00%> (+6.46%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 9e2e5a2...2d5a73e. Read the comment docs.

yt-ms commented 3 years ago

It'd be very good if someone could try the free plan locking for real against Structurizr, as my account is bound to a paid plan rather than free.

Midnighter commented 3 years ago

I can do that. Still have an e-mail address left 😛

yt-ms commented 3 years ago

OK, I've removed the attribute now, and rebased back from main, so hopefully good to go. GitHub won't let me rebase and merge as it thinks there's still a change requested but won't show me where!