dmcnulla / ntp

Mock NTP Server for testing purposes.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NTP Mock Server

Build Status Dependency Status Gem Version

Usage

in ruby script

Install gem from github, by adding the gem line into the Gemfile as follows:

gem 'ntp-mock-server', github: 'dmcnulla/ntp'

And then execute:

$ bundle

Or install it yourself as:

$ gem install ntp-mock-server

Add to your script:

require 'ntp' # NOTE it automatically includes 'net/ntp' gem

# create a new server instance
server = NTP::Server::Control.new

# starting the server on 12345-th port.
server.start(12345)
# => "started NTP mock server on localhost:12345."

# get a time from the server
Net::NTP::get('127.0.0.1', 12345).time # => time...

# set base time for the server
server.time("2000/01/01 01:00")

# get a new rebased time from the server
Net::NTP::get('127.0.0.1', 12345).time # => "2000/01/01 01:05"

# stop the server. NOTE since the server is bind to another process, it shall be explicitly stopped.
server.stop
# => "stopped"

From a command line

You can control the server by using a command line interface as follows:

# start the server
$ ntp-mock-server start

# setb server's base time
$ ntp-mock-server time "2000/01/01 01:00"

# stop the server
$ ntp-mock-server stop

Issue the CLI application without a command to view all available ones:

$ ntp-mock-server
Usage: ntp-mock-server [start|stop|restart|status|time <time>|reset]

Contributing

  1. Fork it ( https://github.com/dmcnulla/ntp/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

License

See LICENSE.txt file.

About

Mock NTP Server for testing purposes.

License:MIT License


Languages

Language:Ruby 95.4%Language:Gherkin 4.6%