Skip to content
This repository has been archived by the owner on Sep 23, 2022. It is now read-only.

vadim-hleif/dipher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Go Report Card codecov codebeat badge GitHub release (latest by date) Go Doc

What is Dipher?

It's a tool for finding breaking changes between old and new swagger specs. Now it supports only Swagger 2.0.

It could be useful for REST services as additional check in CI/CD pipelines.

Why Dipher?

Analogues with swagger diff functionality don't handle such many cases as current library - e.g. enums changes, nested object changes.

Installation

  • Chose required release here:
  • Download archive and extract binary:
    wget https://github.com/vadim-hleif/dipher/releases/download/v0.1.1/dipher_0.1.1_darwin_amd64.tar.gz
    tar -zxvf dipher_0.1.1_darwin_amd64.tar.gz dipher
    rm dipher_0.1.1_darwin_amd64.tar.gz && mv dipher /usr/local/bin
  • Maybe will be added some package managers - now only manual installation is available

Usage

Current features list


  • all path and verb combinations in the old specification are present in the new one
  • no request parameters are required in the new specification that were not required in the old one
  • all required request parameters in the old specification are present in the new one
  • all request parameters in the old specification have the same type in the new one
  • all request models via $ref don't have any differences
  • all response attributes in the old specification are present in the new one
  • all response attributes in the old specification have the same type in the new one
  • all response models via $ref don't have any differences
  • enums validation
  • arrays type support
  • recursive refs
  • extensions validation

TODO minor features list