Pārlūkot izejas kodu

setCurrentState do not have to be returning duplicate state.

master
Patrick Peng Sun pirms 8 gadiem
vecāks
revīzija
b394cd36f8
2 mainītis faili ar 20 papildinājumiem un 8 dzēšanām
  1. +13
    -3
      chatState.go
  2. +7
    -5
      chatState_test.go

+ 13
- 3
chatState.go Parādīt failu

@@ -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 Parādīt failu

@@ -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
}

Notiek ielāde…
Atcelt
Saglabāt