view · edit · sidebar · attach · print · history

Index>

20161213-sbsm-without-drb

Summary

Commits

Index

Refactor SBSM to work without DRB process

Session and App are not clearly separated. Must think harder on howto seperate them.

Also I must add unit-tests for all occurrences of self::class in lib/sbsm. There are already test which set DIRECT_EVENT, EVENTS, EVENT_MAP, VOLATILE, DATES, but not for VALIDATOR.

While working on creating the customized test app, remarked that login is defined twice in davaz.com in the session and app.

Resolved all unit tests around the constant from session. But I have still 4 failing test in test/test_session.rb. But here I sometimes have to update the setup of tests. E.g. I had to add a Stub for the SBSM::App with the lines

class StubSessionApp < SBSM::App
  attr_accessor :trans_handler, :validator
  SESSION = StubSessionSession
  def initialize
    super(session_class: StubSessionSession,
          validator: StubSessionValidator.new,
          unknown_user: StubSessionUnknownUser.new
          )
  end
	def login(session)
		false
	end
	def async(&block)
		block.call
	end
end

or replace calls to session.process_rack(req2) by session.process_rack(:rack_request =>req2). Or session = StubSessionSession.new("test", StubSessionApp.new) had to be replaces by session = StubSessionSession.new(app: StubSessionApp.new)

This are changes in the interface which I documented in History.txt (not yet pushed).

Added nice test to check howto initialize an SBSM::App and verifying that trans_handler, validator, cookie_name, etc get correctly initialize. Now I still have 10 failing unit test and must fix my code.

Also moved some tests, eg. http_header from test/test_session.rb -> test/test_customized_app.rb. Same for test_process, which evaluates the active_state. Made observable by saving a copy of the last session in app.rb. As I changed the test, I am unsure now whether after visiting about, then feedback I should reach Demo::FeedbackState or Demo::AboutState.

Now I am down to the following two error

  1) Failure:
AppTest#test_session_id_is_maintained [/home/niklaus/git/sbsm/test/test_application.rb:152]:
Expected /member_counter is 1$/ to match "member_counter is 2".


  2) Failure:
CustomizedAppSessionValidatorLnf#test_process_state [/home/niklaus/git/sbsm/test/test_customized_app.rb:206]:
Expected: Demo::FeedbackState
  Actual: Demo::AboutState

Davaz.com does not work locally, as I must change the initialization a little bit. I had no time to make it work completly. Login Works, but not logout.

Pushed commit Improved unit test for constants from SBSM::Session.

view · edit · sidebar · attach · print · history
Page last modified on December 14, 2016, at 06:41 PM