Esempio n. 1
0
 def test_misc_narratives(self):
     act = parse.activity(ET.XML(
         u'''<iati-activity>
                 <iati-identifier>AAA-AA</iati-identifier>
                 <reporting-org ref="AAA"/>
                 <recipient-country code="XX">
                     <narrative>N1</narrative>
                 </recipient-country>
                 <recipient-region code="XXX">
                     <narrative>N2</narrative>
                 </recipient-region>
                 <sector vocabulary="RO">
                     <narrative>N3</narrative>
                 </sector>
                 <policy-marker>
                     <narrative>N4</narrative>
                 </policy-marker>
                 <related-activity ref="">
                     <narrative>N5</narrative>
                 </related-activity>
             </iati-activity>'''
     ), major_version='2')
     self.assertEquals(
         "N1", act.recipient_country_percentages[0].name)
     self.assertEquals(
         "N2", act.recipient_region_percentages[0].name)
     self.assertEquals(
         "N3", act.sector_percentages[0].text)
     self.assertEquals(
         "N4", act.policy_markers[0].text)
     self.assertEquals(
         "N5", act.related_activities[0].text)
Esempio n. 2
0
 def test_recipient_region_percentages(self):
     act = parse.activity(fixture("iati_activity_JP.xml"))
     self.assertEquals(1, len(act.recipient_region_percentages))
     self.assertEquals(cl.Country.japan,
                       act.recipient_country_percentages[0].country)
     self.assertEquals("Far East Asia, regional",
                       act.recipient_region_percentages[0].name)
Esempio n. 3
0
 def test_misc_narratives(self):
     act = parse.activity(ET.XML(u'''<iati-activity>
                 <iati-identifier>AAA-AA</iati-identifier>
                 <reporting-org ref="AAA"/>
                 <recipient-country code="XX">
                     <narrative>N1</narrative>
                 </recipient-country>
                 <recipient-region code="XXX">
                     <narrative>N2</narrative>
                 </recipient-region>
                 <sector vocabulary="RO">
                     <narrative>N3</narrative>
                 </sector>
                 <policy-marker>
                     <narrative>N4</narrative>
                 </policy-marker>
                 <related-activity ref="">
                     <narrative>N5</narrative>
                 </related-activity>
             </iati-activity>'''),
                          major_version='2')
     self.assertEquals("N1", act.recipient_country_percentages[0].name)
     self.assertEquals("N2", act.recipient_region_percentages[0].name)
     self.assertEquals("N3", act.sector_percentages[0].text)
     self.assertEquals("N4", act.policy_markers[0].text)
     self.assertEquals("N5", act.related_activities[0].text)
Esempio n. 4
0
 def test_recipient_region_percentages(self):
     act = parse.activity(fixture("iati_activity_JP.xml"))
     self.assertEquals(1, len(act.recipient_region_percentages))
     self.assertEquals(
         cl.Country.japan,
         act.recipient_country_percentages[0].country)
     self.assertEquals(
         "Far East Asia, regional", act.recipient_region_percentages[0].name)
Esempio n. 5
0
 def test_recipient_country_percentages(self):
     act = parse.activity(fixture("default_currency.xml"))
     self.assertEquals(1, len(act.recipient_country_percentages))
     self.assertEquals(
         cl.Country.armenia,
         act.recipient_country_percentages[0].country)
     self.assertEquals(
         "Armenia", act.recipient_country_percentages[0].name)
Esempio n. 6
0
    def test_version_stored_2(self):
        act = parse.activity(ET.XML(u'''<iati-activity>
                    <iati-identifier>AAA-BBB</iati-identifier>
                    <reporting-org ref="AAA"/>
                </iati-activity>'''),
                             major_version='2',
                             version='2.01')
        db.session.add(act)
        db.session.commit()

        self.assertEquals(
            '2',
            db.session.query(model.Activity).first().major_version)
        self.assertEquals('2.01',
                          db.session.query(model.Activity).first().version)
Esempio n. 7
0
    def test_decimal_percentages(self):
        act = parse.activity(
            ET.XML(u'''<iati-activity>
                    <iati-identifier>AAA-BBB</iati-identifier>
                    <reporting-org ref="AAA"/>
                    <recipient-country code="AF" percentage="24.5" />
                    <recipient-country code="AG" percentage="25.5" />
                    <recipient-region code="798" percentage="26.5" />
                    <recipient-region code="889" percentage="23.5" />
                    <sector code="11130" percentage="49.5" />
                    <sector code="11182" percentage="50.5" />
                </iati-activity>'''))
        db.session.add(act)
        db.session.commit()

        self.assertEquals(
            24.5,
            db.session.query(model.CountryPercentage).filter(
                model.CountryPercentage.country ==
                cl.Country.afghanistan).first().percentage)
        self.assertEquals(
            25.5,
            db.session.query(model.CountryPercentage).filter(
                model.CountryPercentage.country ==
                cl.Country.antigua_and_barbuda).first().percentage)

        self.assertEquals(
            26.5,
            db.session.query(model.RegionPercentage).filter(
                model.RegionPercentage.region ==
                cl.Region.asia_regional).first().percentage)
        self.assertEquals(
            23.5,
            db.session.query(model.RegionPercentage).filter(
                model.RegionPercentage.region ==
                cl.Region.oceania_regional).first().percentage)

        self.assertEquals(
            49.5,
            db.session.query(model.SectorPercentage).filter(
                model.SectorPercentage.sector ==
                cl.Sector.teacher_training).first().percentage)
        self.assertEquals(
            50.5,
            db.session.query(model.SectorPercentage).filter(
                model.SectorPercentage.sector ==
                cl.Sector.educational_research).first().percentage)
Esempio n. 8
0
    def test_version_stored_2(self):
        act = parse.activity(ET.XML(
            u'''<iati-activity>
                    <iati-identifier>AAA-BBB</iati-identifier>
                    <reporting-org ref="AAA"/>
                </iati-activity>'''
            ), major_version='2', version='2.01')
        db.session.add(act)
        db.session.commit()

        self.assertEquals(
            '2',
            db.session.query(model.Activity).first().major_version
        )
        self.assertEquals(
            '2.01',
            db.session.query(model.Activity).first().version
        )
Esempio n. 9
0
    def test_decimal_percentages(self):
        act = parse.activity(ET.XML(
            u'''<iati-activity>
                    <iati-identifier>AAA-BBB</iati-identifier>
                    <reporting-org ref="AAA"/>
                    <recipient-country code="AF" percentage="24.5" />
                    <recipient-country code="AG" percentage="25.5" />  
                    <recipient-region code="798" percentage="26.5" />
                    <recipient-region code="889" percentage="23.5" />  
                    <sector code="11130" percentage="49.5" />
                    <sector code="11182" percentage="50.5" />  
                </iati-activity>'''
        ))
        db.session.add(act)
        db.session.commit()

        self.assertEquals(
            24.5,
            db.session.query(model.CountryPercentage).filter(model.CountryPercentage.country==cl.Country.afghanistan).first().percentage
        )
        self.assertEquals(
            25.5,
            db.session.query(model.CountryPercentage).filter(model.CountryPercentage.country==cl.Country.antigua_and_barbuda).first().percentage
        )

        self.assertEquals(
            26.5,
            db.session.query(model.RegionPercentage).filter(model.RegionPercentage.region==cl.Region.asia_regional).first().percentage
        )
        self.assertEquals(
            23.5,
            db.session.query(model.RegionPercentage).filter(model.RegionPercentage.region==cl.Region.oceania_regional).first().percentage
        )

        self.assertEquals(
            49.5,
            db.session.query(model.SectorPercentage).filter(model.SectorPercentage.sector==cl.Sector.teacher_training).first().percentage
        )
        self.assertEquals(
            50.5,
            db.session.query(model.SectorPercentage).filter(model.SectorPercentage.sector==cl.Sector.educational_research).first().percentage
        )
Esempio n. 10
0
 def test_transaction_currency(self):
     # currency is picked up from default currency
     act = parse.activity(fixture("transaction_provider.xml"))
     self.assertEquals(
         cl.Currency.pound_sterling,
         act.transactions[0].value_currency)
Esempio n. 11
0
 def test_date_start_planned(self):
     act = parse.activity(fixture("default_currency.xml"))
     self.assertEquals(datetime.date(2009, 10, 03), act.start_planned)
Esempio n. 12
0
 def test_bad_xml(self):
     with self.assertRaises(ET.LxmlError):
         act = parse.activity(fixture("broken.xml"))
Esempio n. 13
0
 def test_description(self):
     act = parse.activity(fixture("default_currency.xml"))
     self.assert_(act.description.startswith(
         u"While Armenia is still a country with a concentrated HIV"))
Esempio n. 14
0
 def test_budget(self):
     activity = parse.activity(fixture("default_currency.xml"))
     self.assertEquals(6, len(activity.budgets))
Esempio n. 15
0
 def test_transaction_provider_org_ref(self):
     act = parse.activity(fixture("transaction_provider.xml"))
     self.assertEquals(u'GB-1-201242-101', 
                         act.transactions[0].provider_org.ref)
Esempio n. 16
0
 def test_save_parsed_activity(self):
     act = parse.activity(fixture("default_currency.xml"))
     db.session.add(act)
     db.session.commit()
Esempio n. 17
0
 def test_title(self):
     act = parse.activity(fixture("default_currency.xml"))
     self.assertEquals(
         (u"Support to the National Program on the Response to HIV " +
          u"Epicemic in the Republic of Armenia"),
         act.title)
Esempio n. 18
0
 def test_id(self):
     act = parse.activity(fixture("default_currency.xml"))
     self.assertEquals(
         u"47045-ARM-202-G05-H-00",
         act.iati_identifier)
Esempio n. 19
0
 def test_participating_org(self):
     act = parse.activity(fixture("default_currency.xml"))
     self.assertEquals(
         cl.OrganisationRole.funding,
         act.participating_orgs[0].role)
Esempio n. 20
0
 def test_rejects_participatng_org_without_ref(self):
     act = parse.activity(fixture("default_currency.xml"))
     self.assertEquals(1, len(act.participating_orgs))
Esempio n. 21
0
 def test_activity_websites(self):
     act = parse.activity(fixture("default_currency.xml"))
     self.assertEquals(
         [u"http://portfolio.theglobalfund.org/en/Grant/Index/ARM-202-G05-H-00"],
         act.websites)
Esempio n. 22
0
 def test_reporting_org_type(self):
     act = parse.activity(fixture("default_currency.xml"))
     self.assertEquals(
         cl.OrganisationType.multilateral,
         act.reporting_org.type
     )
Esempio n. 23
0
 def test_reporting_org_ref(self):
     act = parse.activity(fixture("default_currency.xml"))
     self.assertEquals(u"47045", act.reporting_org.ref)
Esempio n. 24
0
 def test_transaction_value_composite(self):
     act = parse.activity(fixture("transaction_provider.xml"))
     self.assertEquals(
         (datetime.date(2011, 8, 19), 29143, cl.Currency.pound_sterling),
         act.transactions[0].value)
Esempio n. 25
0
 def test_raw_xml(self):
     act = parse.activity(fixture_filename("default_currency.xml"))
     norm_xml = ET.tostring(ET.parse(fixture_filename("default_currency.xml")))
     self.assertEquals(norm_xml, act.raw_xml)
Esempio n. 26
0
 def test_transaction_ref(self):
     act = parse.activity(fixture("transaction_ref.xml"))
     self.assertEquals(u'36258', act.transactions[0].ref)
     self.assertEquals(None, act.transactions[1].ref)
Esempio n. 27
0
 def test_transaction_ref(self):
     act = parse.activity(parse_fixture("transaction_ref.xml"))
     self.assertEquals(u'36258', act.transactions[0].ref)
     self.assertEquals(None, act.transactions[1].ref)
Esempio n. 28
0
 def test_transaction_reciever_org_ref(self):
     act = parse.activity(fixture("transaction_provider.xml"))
     self.assertEquals(u'GB-CHC-313139', 
                         act.transactions[0].receiver_org.ref)
Esempio n. 29
0
 def test_transaction_reciever_org_ref(self):
     act = parse.activity(parse_fixture("transaction_provider.xml"))
     self.assertEquals(u'GB-CHC-313139',
                       act.transactions[0].receiver_org.ref)
Esempio n. 30
0
 def setUp(self):
     super().setUp()
     self.act = parse.activity(parse_fixture("default_currency.xml"))
Esempio n. 31
0
 def test_last_updated_time(self):
     act = parse.activity(fixture("default_currency.xml"))
     self.assertEquals(datetime.date(2012, 9, 25), act.last_updated_datetime)
Esempio n. 32
0
 def test_transaction_currency(self):
     # currency is picked up from default currency
     act = parse.activity(parse_fixture("transaction_provider.xml"))
     self.assertEquals(cl.Currency.pound_sterling,
                       act.transactions[0].value_currency)
Esempio n. 33
0
 def test_date_end_actual(self):
     act = parse.activity(fixture("default_currency.xml"))
     self.assertEquals(datetime.date(2009, 10, 02), act.end_actual)
Esempio n. 34
0
 def test_bad_xml(self):
     with self.assertRaises(ET.LxmlError):
         parse.activity(parse_fixture("broken.xml"))
Esempio n. 35
0
 def test_transaction_count(self):
     act = parse.activity(fixture("default_currency.xml"))
     self.assertEquals(1, len(act.transactions))
Esempio n. 36
0
 def test_transaction_value_composite(self):
     act = parse.activity(parse_fixture("transaction_provider.xml"))
     self.assertEquals(
         (datetime.date(2011, 8, 19), 29143, cl.Currency.pound_sterling),
         act.transactions[0].value)
Esempio n. 37
0
 def test_transaction_type(self):
     act = parse.activity(fixture("default_currency.xml"))
     self.assertEquals(
         cl.TransactionType.commitment,
         act.transactions[0].type)
Esempio n. 38
0
 def test_transaction_provider_org_ref(self):
     act = parse.activity(parse_fixture("transaction_provider.xml"))
     self.assertEquals(u'GB-1-201242-101',
                       act.transactions[0].provider_org.ref)
Esempio n. 39
0
 def test_transaction_date(self):
     act = parse.activity(fixture("default_currency.xml"))
     self.assertEquals(
         datetime.date(2009, 10, 01),
         act.transactions[0].date)
Esempio n. 40
0
 def test_save_parsed_activity(self):
     act = parse.activity(parse_fixture("default_currency.xml"))
     db.session.add(act)
     db.session.commit()
Esempio n. 41
0
 def setUp(self):
     super(TestParseActivity, self).setUp()
     self.act = parse.activity(fixture("default_currency.xml"))
Esempio n. 42
0
 def setUp(self):
     super(TestParseActivity, self).setUp()
     self.act = parse.activity(fixture("default_currency.xml"))
Esempio n. 43
0
 def test_transaction_value_composite(self):
     act = parse.activity(fixture("default_currency.xml"))
     self.assertEquals(
         (datetime.date(2009, 10, 01), 3991675, cl.Currency.us_dollar),
         act.transactions[0].value)