// This file was generated by counterfeiter
package appfilesfakes

import (
	"sync"

	"code.cloudfoundry.org/cli/cf/api/appfiles"
)

type FakeAppFilesRepository struct {
	ListFilesStub        func(appGUID string, instance int, path string) (files string, apiErr error)
	listFilesMutex       sync.RWMutex
	listFilesArgsForCall []struct {
		appGUID  string
		instance int
		path     string
	}
	listFilesReturns struct {
		result1 string
		result2 error
	}
}

func (fake *FakeAppFilesRepository) ListFiles(appGUID string, instance int, path string) (files string, apiErr error) {
	fake.listFilesMutex.Lock()
	fake.listFilesArgsForCall = append(fake.listFilesArgsForCall, struct {
		appGUID  string
		instance int
		path     string
	}{appGUID, instance, path})
	fake.listFilesMutex.Unlock()
	if fake.ListFilesStub != nil {
		return fake.ListFilesStub(appGUID, instance, path)
	} else {
		return fake.listFilesReturns.result1, fake.listFilesReturns.result2
	}
}

func (fake *FakeAppFilesRepository) ListFilesCallCount() int {
	fake.listFilesMutex.RLock()
	defer fake.listFilesMutex.RUnlock()
	return len(fake.listFilesArgsForCall)
}

func (fake *FakeAppFilesRepository) ListFilesArgsForCall(i int) (string, int, string) {
	fake.listFilesMutex.RLock()
	defer fake.listFilesMutex.RUnlock()
	return fake.listFilesArgsForCall[i].appGUID, fake.listFilesArgsForCall[i].instance, fake.listFilesArgsForCall[i].path
}

func (fake *FakeAppFilesRepository) ListFilesReturns(result1 string, result2 error) {
	fake.ListFilesStub = nil
	fake.listFilesReturns = struct {
		result1 string
		result2 error
	}{result1, result2}
}

var _ appfiles.Repository = new(FakeAppFilesRepository)
