Explorar el Código

setCurrentState do not have to be returning duplicate state.

master
Patrick Peng Sun hace 9 años
padre
commit
b394cd36f8
Se han modificado 2 ficheros con 20 adiciones y 8 borrados
  1. +13
    -3
      chatState.go
  2. +7
    -5
      chatState_test.go

+ 13
- 3
chatState.go Ver fichero

return 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.OpenID = openID
state.Procedure = procedure state.Procedure = procedure


log.Println(err) log.Println(err)
return return
} }
newState = state
return return
} }


//skip saving sate //skip saving sate
return return
} }
_, err = setCurrentState(openID, procedure, state)
err = setCurrentState(openID, procedure, state)
return 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 Ver fichero

s.response = "somexml less than 2018bytes" s.response = "somexml less than 2018bytes"


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


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


//compare //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["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.Save["icon"], s.Save["icon"], "Message[icon] should be equal")
AssertEqual(t, m.OpenID, openID, "openID should be "+openID) AssertEqual(t, m.OpenID, openID, "openID should be "+openID)
AssertEqual(t, m.response, "", "response should be empty") AssertEqual(t, m.response, "", "response should be empty")
AssertEqual(t, m.Procedure, procedure, "procedure should be "+procedure) 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) err = deleteChatState(openID, procedure)
AssertEqual(t, err, nil, "delete chatState should be good") AssertEqual(t, err, nil, "delete chatState should be good")
AssertEqual(t, s != nil, true, "TestDummy should return error") AssertEqual(t, s != nil, true, "TestDummy should return error")
s = startProcedure(openID, "TestEcho") s = startProcedure(openID, "TestEcho")
AssertEqual(t, s, nil, "TestEqual should return success") AssertEqual(t, s, nil, "TestEqual should return success")
//read it back
//TODO read it back and check it
} }

Cargando…
Cancelar
Guardar