Преглед на файлове

setCurrentState do not have to be returning duplicate state.

master
Patrick Peng Sun преди 8 години
родител
ревизия
b394cd36f8
променени са 2 файла, в които са добавени 20 реда и са изтрити 8 реда
  1. +13
    -3
      chatState.go
  2. +7
    -5
      chatState_test.go

+ 13
- 3
chatState.go Целия файл

@@ -60,7 +60,7 @@ func sanityCheckState(openID, procedure string, result chatState) (err error) {
return
}

func setCurrentState(openID, procedure string, state chatState) (newState chatState, err error) {
func setCurrentState(openID, procedure string, state chatState) (err error) {
state.OpenID = openID
state.Procedure = procedure

@@ -75,7 +75,6 @@ func setCurrentState(openID, procedure string, state chatState) (newState chatSt
log.Println(err)
return
}
newState = state
return
}

@@ -101,6 +100,17 @@ func saveChatState(openID, procedure string, state chatState) (err error) {
//skip saving sate
return
}
_, err = setCurrentState(openID, procedure, state)
err = setCurrentState(openID, procedure, state)
return
}

func isEndingState(state chatState) bool {
if isExpired(state.Expire) || state.Name == "" {
return true
}

if state.Name == "delete" {
return true
}
return false
}

+ 7
- 5
chatState_test.go Целия файл

@@ -18,22 +18,22 @@ func TestChatState(t *testing.T) {
s.response = "somexml less than 2018bytes"

//save
n, err := setCurrentState(openID, procedure, s)
err := setCurrentState(openID, procedure, s)
AssertEqual(t, err, nil, "save state should be successful")

//read out
m, _ := getCurrentState(openID, procedure)

//compare
AssertEqual(t, m.Name, n.Name, "Name should be equal")
AssertEqual(t, m.Expire, n.Expire, "Expire should be equal")
AssertEqual(t, m.Name, s.Name, "Name should be equal")
AssertEqual(t, m.Expire, s.Expire, "Expire should be equal")
AssertEqual(t, m.Save["txt"], s.Save["txt"], "Message[txt] should be equal")
AssertEqual(t, m.Save["icon"], s.Save["icon"], "Message[icon] should be equal")
AssertEqual(t, m.OpenID, openID, "openID should be "+openID)
AssertEqual(t, m.response, "", "response should be empty")
AssertEqual(t, m.Procedure, procedure, "procedure should be "+procedure)
AssertEqual(t, m.Save["txt"], n.Save["txt"], "Message[txt] should be equal")
AssertEqual(t, m.Save["icon"], n.Save["icon"], "Message[icon] should be equal")
AssertEqual(t, m.Save["txt"], s.Save["txt"], "Message[txt] should be equal")
AssertEqual(t, m.Save["icon"], s.Save["icon"], "Message[icon] should be equal")

err = deleteChatState(openID, procedure)
AssertEqual(t, err, nil, "delete chatState should be good")
@@ -46,4 +46,6 @@ func TestStartProcedure(t *testing.T) {
AssertEqual(t, s != nil, true, "TestDummy should return error")
s = startProcedure(openID, "TestEcho")
AssertEqual(t, s, nil, "TestEqual should return success")
//read it back
//TODO read it back and check it
}

Loading…
Отказ
Запис