github.com/nginxinc/kubernetes-ingress@v1.12.5/internal/nginx/fake_manager.go (about)

     1  package nginx
     2  
     3  import (
     4  	"net/http"
     5  	"os"
     6  	"path"
     7  
     8  	"github.com/golang/glog"
     9  	"github.com/nginxinc/nginx-plus-go-client/client"
    10  )
    11  
    12  // FakeManager provides a fake implementation of the Manager interface.
    13  type FakeManager struct {
    14  	confdPath       string
    15  	secretsPath     string
    16  	dhparamFilename string
    17  }
    18  
    19  // NewFakeManager creates a FakeMananger.
    20  func NewFakeManager(confPath string) *FakeManager {
    21  	return &FakeManager{
    22  		confdPath:       path.Join(confPath, "conf.d"),
    23  		secretsPath:     path.Join(confPath, "secrets"),
    24  		dhparamFilename: path.Join(confPath, "secrets", "dhparam.pem"),
    25  	}
    26  }
    27  
    28  // CreateMainConfig provides a fake implementation of CreateMainConfig.
    29  func (*FakeManager) CreateMainConfig(content []byte) {
    30  	glog.V(3).Info("Writing main config")
    31  	glog.V(3).Info(string(content))
    32  }
    33  
    34  // CreateConfig provides a fake implementation of CreateConfig.
    35  func (*FakeManager) CreateConfig(name string, content []byte) {
    36  	glog.V(3).Infof("Writing config %v", name)
    37  	glog.V(3).Info(string(content))
    38  }
    39  
    40  // CreateAppProtectResourceFile provides a fake implementation of CreateAppProtectResourceFile
    41  func (*FakeManager) CreateAppProtectResourceFile(name string, content []byte) {
    42  	glog.V(3).Infof("Writing Ap Resource File %v", name)
    43  	glog.V(3).Info(string(content))
    44  }
    45  
    46  // DeleteAppProtectResourceFile provides a fake implementation of DeleteAppProtectResourceFile
    47  func (*FakeManager) DeleteAppProtectResourceFile(name string) {
    48  	glog.V(3).Infof("Deleting Ap Resource File %v", name)
    49  }
    50  
    51  // ClearAppProtectFolder provides a fake implementation of ClearAppProtectFolder
    52  func (*FakeManager) ClearAppProtectFolder(name string) {
    53  	glog.V(3).Infof("Deleting Ap Resource folder %v", name)
    54  }
    55  
    56  // DeleteConfig provides a fake implementation of DeleteConfig.
    57  func (*FakeManager) DeleteConfig(name string) {
    58  	glog.V(3).Infof("Deleting config %v", name)
    59  }
    60  
    61  // CreateStreamConfig provides a fake implementation of CreateStreamConfig.
    62  func (*FakeManager) CreateStreamConfig(name string, content []byte) {
    63  	glog.V(3).Infof("Writing stream config %v", name)
    64  	glog.V(3).Info(string(content))
    65  }
    66  
    67  // DeleteStreamConfig provides a fake implementation of DeleteStreamConfig.
    68  func (*FakeManager) DeleteStreamConfig(name string) {
    69  	glog.V(3).Infof("Deleting stream config %v", name)
    70  }
    71  
    72  // CreateTLSPassthroughHostsConfig provides a fake implementation of CreateTLSPassthroughHostsConfig.
    73  func (*FakeManager) CreateTLSPassthroughHostsConfig(content []byte) {
    74  	glog.V(3).Infof("Writing TLS Passthrough Hosts config file")
    75  }
    76  
    77  // CreateSecret provides a fake implementation of CreateSecret.
    78  func (fm *FakeManager) CreateSecret(name string, content []byte, mode os.FileMode) string {
    79  	glog.V(3).Infof("Writing secret %v", name)
    80  	return fm.GetFilenameForSecret(name)
    81  }
    82  
    83  // DeleteSecret provides a fake implementation of DeleteSecret.
    84  func (*FakeManager) DeleteSecret(name string) {
    85  	glog.V(3).Infof("Deleting secret %v", name)
    86  }
    87  
    88  // GetFilenameForSecret provides a fake implementation of GetFilenameForSecret.
    89  func (fm *FakeManager) GetFilenameForSecret(name string) string {
    90  	return path.Join(fm.secretsPath, name)
    91  }
    92  
    93  // CreateDHParam provides a fake implementation of CreateDHParam.
    94  func (fm *FakeManager) CreateDHParam(content string) (string, error) {
    95  	glog.V(3).Infof("Writing dhparam file")
    96  	return fm.dhparamFilename, nil
    97  }
    98  
    99  // Version provides a fake implementation of Version.
   100  func (*FakeManager) Version() string {
   101  	glog.V(3).Info("Printing nginx version")
   102  	return "fake version"
   103  }
   104  
   105  // Start provides a fake implementation of Start.
   106  func (*FakeManager) Start(done chan error) {
   107  	glog.V(3).Info("Starting nginx")
   108  }
   109  
   110  // Reload provides a fake implementation of Reload.
   111  func (*FakeManager) Reload(isEndpointsUpdate bool) error {
   112  	glog.V(3).Infof("Reloading nginx")
   113  	return nil
   114  }
   115  
   116  // Quit provides a fake implementation of Quit.
   117  func (*FakeManager) Quit() {
   118  	glog.V(3).Info("Quitting nginx")
   119  }
   120  
   121  // UpdateConfigVersionFile provides a fake implementation of UpdateConfigVersionFile.
   122  func (*FakeManager) UpdateConfigVersionFile(openTracing bool) {
   123  	glog.V(3).Infof("Writing config version")
   124  }
   125  
   126  // SetPlusClients provides a fake implementation of SetPlusClients.
   127  func (*FakeManager) SetPlusClients(plusClient *client.NginxClient, plusConfigVersionCheckClient *http.Client) {
   128  }
   129  
   130  // UpdateServersInPlus provides a fake implementation of UpdateServersInPlus.
   131  func (*FakeManager) UpdateServersInPlus(upstream string, servers []string, config ServerConfig) error {
   132  	glog.V(3).Infof("Updating servers of %v: %v", upstream, servers)
   133  	return nil
   134  }
   135  
   136  // UpdateStreamServersInPlus provides a fake implementation of UpdateStreamServersInPlus.
   137  func (*FakeManager) UpdateStreamServersInPlus(upstream string, servers []string) error {
   138  	glog.V(3).Infof("Updating stream servers of %v: %v", upstream, servers)
   139  	return nil
   140  }
   141  
   142  // CreateOpenTracingTracerConfig creates a fake implementation of CreateOpenTracingTracerConfig.
   143  func (*FakeManager) CreateOpenTracingTracerConfig(content string) error {
   144  	glog.V(3).Infof("Writing OpenTracing tracer config file")
   145  
   146  	return nil
   147  }
   148  
   149  // SetOpenTracing creates a fake implementation of SetOpenTracing.
   150  func (*FakeManager) SetOpenTracing(openTracing bool) {
   151  }
   152  
   153  // AppProtectAgentStart is a fake implementation of AppProtectAgentStart
   154  func (*FakeManager) AppProtectAgentStart(apaDone chan error, debug bool) {
   155  	glog.V(3).Infof("Starting FakeAppProtectAgent")
   156  }
   157  
   158  // AppProtectAgentQuit is a fake implementtion AppProtectAgentQuit
   159  func (*FakeManager) AppProtectAgentQuit() {
   160  	glog.V(3).Infof("Quitting FakeAppProtectAgent")
   161  }
   162  
   163  // AppProtectPluginStart is a fake implementtion AppProtectPluginStart
   164  func (*FakeManager) AppProtectPluginStart(appDone chan error) {
   165  	glog.V(3).Infof("Starting FakeAppProtectPlugin")
   166  }
   167  
   168  // AppProtectPluginQuit is a fake implementtion AppProtectPluginQuit
   169  func (*FakeManager) AppProtectPluginQuit() {
   170  	glog.V(3).Infof("Quitting FakeAppProtectPlugin")
   171  }