Files
beelzebub/protocols/protocol_manager_test.go
Mario Candela 6468b5aa6f refactor:Added Integration test and tiny refactoring (#23)
* Refactoring name convention

* Added integration test

* Added Makefile

* Bump golang.org/x/crypto from 0.0.0-20220826181053-bd7e27e6170d to 0.6.0

Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.0.0-20220826181053-bd7e27e6170d to 0.6.0.
- [Release notes](https://github.com/golang/crypto/releases)
- [Commits](https://github.com/golang/crypto/commits/v0.6.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

* Upgrade go from 1.16 to 1.20

* Added integration test: HTTP, TCP, SSH

* Added Makefile Improve README.md

* Fixed unit test CI

* Fixed go-version

* Added integration test into C.I. actions

---------

Signed-off-by: Mario Candela <m4r10.php@gmail.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-26 18:04:05 +01:00

51 lines
1.4 KiB
Go

package protocols
import (
"beelzebub/parser"
"beelzebub/tracer"
"errors"
"github.com/stretchr/testify/assert"
"testing"
)
type mockServiceStrategyValid struct {
}
func (mockServiceStrategy mockServiceStrategyValid) Init(beelzebubServiceConfiguration parser.BeelzebubServiceConfiguration, tr tracer.Tracer) error {
return nil
}
type mockServiceStrategyError struct {
}
func (mockServiceStrategy mockServiceStrategyError) Init(beelzebubServiceConfiguration parser.BeelzebubServiceConfiguration, tr tracer.Tracer) error {
return errors.New("mockError")
}
func TestInitServiceManager(t *testing.T) {
mockTraceStrategy := func(event tracer.Event) {}
protocolManager := InitProtocolManager(mockTraceStrategy, mockServiceStrategyValid{})
assert.NotNil(t, protocolManager.strategy)
assert.NotNil(t, protocolManager.tracer)
}
func TestInitServiceSuccess(t *testing.T) {
mockTraceStrategy := func(event tracer.Event) {}
protocolManager := InitProtocolManager(mockTraceStrategy, mockServiceStrategyValid{})
protocolManager.SetProtocolStrategy(mockServiceStrategyValid{})
assert.Nil(t, protocolManager.InitService(parser.BeelzebubServiceConfiguration{}))
}
func TestInitServiceError(t *testing.T) {
mockTraceStrategy := func(event tracer.Event) {}
protocolManager := InitProtocolManager(mockTraceStrategy, mockServiceStrategyError{})
assert.NotNil(t, protocolManager.InitService(parser.BeelzebubServiceConfiguration{}))
}