// Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License"). You may
// not use this file except in compliance with the License. A copy of the
// License is located at
//
//     http://aws.amazon.com/apache2.0/
//
// or in the "license" file accompanying this file. This file is distributed
// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
// express or implied. See the License for the specific language governing
// permissions and limitations under the License.
// Automatically generated by MockGen. DO NOT EDIT!
// Source: github.com/awslabs/ecs-secrets/modules/dao (interfaces: DAO)

package mock_dao

import (
	dao "github.com/awslabs/ecs-secrets/modules/dao"
	gomock "github.com/golang/mock/gomock"
)

// Mock of DAO interface
type MockDAO struct {
	ctrl     *gomock.Controller
	recorder *_MockDAORecorder
}

// Recorder for MockDAO (not exported)
type _MockDAORecorder struct {
	mock *MockDAO
}

func NewMockDAO(ctrl *gomock.Controller) *MockDAO {
	mock := &MockDAO{ctrl: ctrl}
	mock.recorder = &_MockDAORecorder{mock}
	return mock
}

func (_m *MockDAO) EXPECT() *_MockDAORecorder {
	return _m.recorder
}

func (_m *MockDAO) GetLatestVersion(_param0 string) (*dao.SecretRecord, error) {
	ret := _m.ctrl.Call(_m, "GetLatestVersion", _param0)
	ret0, _ := ret[0].(*dao.SecretRecord)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

func (_mr *_MockDAORecorder) GetLatestVersion(arg0 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "GetLatestVersion", arg0)
}

func (_m *MockDAO) GetSecretRecord(_param0 string, _param1 int64) (*dao.SecretRecord, error) {
	ret := _m.ctrl.Call(_m, "GetSecretRecord", _param0, _param1)
	ret0, _ := ret[0].(*dao.SecretRecord)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

func (_mr *_MockDAORecorder) GetSecretRecord(arg0, arg1 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "GetSecretRecord", arg0, arg1)
}

func (_m *MockDAO) PutSecretRecord(_param0 *dao.SecretRecord) error {
	ret := _m.ctrl.Call(_m, "PutSecretRecord", _param0)
	ret0, _ := ret[0].(error)
	return ret0
}

func (_mr *_MockDAORecorder) PutSecretRecord(arg0 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "PutSecretRecord", arg0)
}

func (_m *MockDAO) RevokeSecretRecord(_param0 string, _param1 int64) error {
	ret := _m.ctrl.Call(_m, "RevokeSecretRecord", _param0, _param1)
	ret0, _ := ret[0].(error)
	return ret0
}

func (_mr *_MockDAORecorder) RevokeSecretRecord(arg0, arg1 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "RevokeSecretRecord", arg0, arg1)
}
