Exemple #1
0
def main(argv=sys.argv):
    if len(argv) != 5:
        usage(argv)
    config_uri = argv[1]
    setup_logging(config_uri)
    pwd_context.load_path(config_uri)
    settings = get_appsettings(config_uri)
    engine = engine_from_config(settings, 'sqlalchemy.')
    DBSession.configure(bind=engine)
    Base.metadata.create_all(engine)
    username = argv[2]
    password = argv[3]
    group = argv[4]
    with transaction.manager:
        group_criteria = Group.name == group
        group_params = {'name': group}
        group = Group.get_or_create(
            group_criteria,
            **group_params)

        user = User()
        user.group = group
        profile = UserProfile(
            user=user, username=username, password=password)
        ona_user_params = {
            'user': user,
            'username': username,
            'refresh_token': 'test'}
        ona_user = OnaUser.get_or_create(
            OnaUser.username == username,
            **ona_user_params)
        DBSession.add_all([user, profile, ona_user])
Exemple #2
0
    def test_get_active_characteristics_filters_by_period(self):
        self.setup_test_data()
        period_1 = ReportingPeriod.get(ReportingPeriod.title == 'Period 1')
        clinic_a = Clinic.get(Clinic.name == 'Clinic A')
        period2 = ReportingPeriod(
            title='Period 2',
            start_date=datetime.datetime(2014, 1, 1),
            end_date=datetime.datetime(2014, 1, 1))

        DBSession.add(period2)
        DBSession.flush()
        clinic_char1 = ClinicCharacteristics(
            clinic_id=clinic_a.id,
            characteristic_id='one',
            period_id=period_1.id)

        clinic_char2 = ClinicCharacteristics(
            clinic_id=clinic_a.id,
            characteristic_id='one',
            period_id=period2.id)

        DBSession.add_all([clinic_char1, clinic_char2])

        characteristics = clinic_a.get_active_characteristics(period_1)

        self.assertEqual(len(characteristics), 1)
Exemple #3
0
def parse_municipalities_from_submissions():
    submissions = Submission.all()
    for submission in submissions:
        try:
            with transaction.manager:
                clinic_code = submission.raw_data[constants.CLINIC_IDENTIFIER]
                clinic = Clinic.get(Clinic.code == clinic_code)

                state_name = submission.raw_data[constants.STATE_IDENTIFIER]

                municipality_name = submission.raw_data[
                    constants.MUNICIPALITY_IDENTIFIER]

                state_params = {'name': state_name}
                state = State.get_or_create(State.name == state_name,
                                            **state_params)

                municipality_params = {'name': municipality_name}
                municipality = Municipality.get_or_create(
                    Municipality.name == municipality_name,
                    **municipality_params)

                municipality.state = state

                if clinic.municipality is None:
                    clinic.municipality = municipality
                    DBSession.add_all([municipality, clinic])

        except (NoResultFound, KeyError):
            pass
Exemple #4
0
    def setUp(self):
        super(TestStateViewsFunctional, self).setUp()

        with transaction.manager:
            state = State(name="Sao Paolo")
            municipality1 = Municipality(name="Brasillia", parent=state)
            municipality2 = Municipality(name="Brasil", parent=state)

            user_group = Group(name="state_official")
            user = User()
            user.group = user_group
            user.location = state

            ona_user = OnaUser(username="******",
                               user=user,
                               refresh_token="1239khyackas")

            ona_user.save()

            reporting_period = ReportingPeriod(
                title='Period 1',
                start_date=datetime.datetime(2015, 5, 1),
                end_date=datetime.datetime(2015, 7, 31))

            reporting_period.save()
            DBSession.add_all([state, municipality1, municipality2])
Exemple #5
0
    def setUp(self):
        super(TestStateViews, self).setUp()
        self.request = testing.DummyRequest()
        self._create_user('state-official')

        with transaction.manager:
            reporting_period = ReportingPeriod(
                title='Period 1',
                start_date=datetime.datetime(2015, 5, 1),
                end_date=datetime.datetime(2015, 7, 31))

            reporting_period.save()
            state = State(name="Sao Paolo")
            municipality1 = Municipality(name="Brasillia", parent=state)
            municipality2 = Municipality(name="Brasil", parent=state)
            DBSession.add_all([state, municipality1, municipality2])
            for i in range(5):
                clinic = Clinic(name="Clinic {}".format(i),
                                code="{}BCDE".format(i),
                                municipality=municipality1)
                DBSession.add(clinic)

        self.request.user = OnaUser.get(
            OnaUser.username == 'state-official').user

        self.view = StateViews(self.request)
Exemple #6
0
 def test_newest_returns_newest_record_by_id_desc(self):
     user1 = User(id=1)
     user2 = User(id=2)
     with transaction.manager:
         DBSession.add_all([user1, user2])
     user = User.newest()
     self.assertEqual(user.id, 2)
Exemple #7
0
    def setup_reporting_periods(self):
        self.reporting_period1 = ReportingPeriod(
            title="test 1",
            form_xpath="jan_2015feb_2015",
            start_date=datetime.date(2015, 1, 1),
            end_date=datetime.date(2015, 2, 1))
        self.reporting_period2 = ReportingPeriod(
            title="test 2",
            form_xpath="feb_2015mar_2015",
            start_date=datetime.date(2015, 2, 1),
            end_date=datetime.date(2015, 3, 1))
        self.reporting_period3 = ReportingPeriod(
            title="test 3",
            form_xpath="apr_2015may_2015",
            start_date=datetime.date(2015, 4, 1),
            end_date=datetime.date(2015, 5, 1))
        self.reporting_period_v3 = ReportingPeriod(
            title="test 4",
            form_xpath="2017",
            start_date=datetime.date(2017, 1, 1),
            end_date=datetime.date(2017, 12, 31))

        DBSession.add_all([self.reporting_period1,
                           self.reporting_period2,
                           self.reporting_period3,
                           self.reporting_period_v3])
Exemple #8
0
def main(argv=sys.argv):
    if len(argv) != 2:
        usage(argv)
    config_uri = argv[1]
    setup_logging(config_uri)
    settings = get_appsettings(config_uri)
    engine = engine_from_config(settings, 'sqlalchemy.')
    DBSession.configure(bind=engine)
    Base.metadata.create_all(engine)
    with transaction.manager:
        user = User()
        DBSession.add_all([user])