Package cryptorand implements a mockable source or crypto strong randomness.

    In real world scenario it is same source as provided by crypt/rand. In tests it is replaced with reproducible, not really random stream of bytes.



    This section is empty.


    This section is empty.


    func Get

    func Get(c context.Context) io.Reader

      Get returns an io.Reader that emits random stream of bytes.

      Usually this returns crypto/rand.Reader, but unit tests may replace it with a mock by using 'MockForTest' function.

      func MockForTest

      func MockForTest(c context.Context, seed int64) context.Context

        MockForTest installs deterministic source of 'randomness' in the context.

        Must not be used outside of tests.

        func Read

        func Read(c context.Context, b []byte) (n int, err error)

          Read is a helper that reads bytes from random source using io.ReadFull.

          On return, n == len(b) if and only if err == nil.


          This section is empty.

          Source Files