Giter Club home page Giter Club logo

mockcompose's People

Contributors

kelveny avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

mockcompose's Issues

Making the real option explicit

rahat@rahat-Inspiron-5515:~/Desktop/TukuRetail/tukuReatail@back$ mockcompose mockcompose - Please specify at least one real method name with -real option

Hey!! your package is great! But I have a concerns that i think if fixed then this package would be more easy to use.

We need specify the real methods explicitly but think like i have 20 methods and i just one to mock one so will i have to write the other 19 methods by including their names? that's impractical isn't it? Why not auto explicitly consider all other function as real function that are not included in -mock?

Moreover I don't know why but your cli is also generating wrong files:

//go:generate mockcompose -n TestCognitoAuthenticator -c CognitoAuthenticator -real EmployeeLogin -mock errorHandler -mock isUserInGroup

generates:

// CODE GENERATED AUTOMATICALLY WITH github.com/kelveny/mockcompose
// THIS FILE SHOULD NOT BE EDITED BY HAND
package auth

import (
	"github.com/stretchr/testify/mock"
)

type TestCognitoAuthenticator struct {
	CognitoAuthenticator
	mock.Mock
}

func (m *TestCognitoAuthenticator) isUserInGroup(username string, groupName string) (bool, error) {

	_mc_ret := m.Called(username, groupName)

	var _r0 bool

	if _rfn, ok := _mc_ret.Get(0).(func(string, string) bool); ok {
		_r0 = _rfn(username, groupName)
	} else {
		if _mc_ret.Get(0) != nil {
			_r0 = _mc_ret.Get(0).(bool)
		}
	}

	var _r1 error

	if _rfn, ok := _mc_ret.Get(1).(func(string, string) error); ok {
		_r1 = _rfn(username, groupName)
	} else {
		_r1 = _mc_ret.Error(1)
	}

	return _r0, _r1

}

Mocking function from imported package

Hi

I'm trying to figure out if mockcompose supports my scenario.
Here is a cut out of the package my code is using:

package secret

import (
  "regexp"
)

type SecretData struct {
  Data []byte
  Name string
}

func GetSecrets(projectId string, secretsRegexp *regexp.Regexp) ([]SecretData, error) {
  ...
}

Here is a cut out of my code:

package foo

import (
  "github.com/.../secret"
  "regexp"
)

func Bar() error {
  secretsData, err := secret.GetSecrets("projectId", regexp.MustCompile(`-\w{4}$`))
  ...
}

I'm trying to mock secret.GetSecrets by using mockcompose and I tried //go:generate mockcompose -v -n mockSecret -p github.com/.../secret -mock GetSecrets but the generated file will then be missing import for regexp and don't have the SecretData struct so it doesn't compile.
I could fixed that after generating the file but I don't think that's the point with mockcompose ๐Ÿ˜ƒ

Any help in how I should continue (if currently possible) would be very much appreciate as I really like your package, keep up the good work on it!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.