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)
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)
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)
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)
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)
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)
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)
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 )
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 )
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)
def test_date_start_planned(self): act = parse.activity(fixture("default_currency.xml")) self.assertEquals(datetime.date(2009, 10, 03), act.start_planned)
def test_bad_xml(self): with self.assertRaises(ET.LxmlError): act = parse.activity(fixture("broken.xml"))
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"))
def test_budget(self): activity = parse.activity(fixture("default_currency.xml")) self.assertEquals(6, len(activity.budgets))
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)
def test_save_parsed_activity(self): act = parse.activity(fixture("default_currency.xml")) db.session.add(act) db.session.commit()
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)
def test_id(self): act = parse.activity(fixture("default_currency.xml")) self.assertEquals( u"47045-ARM-202-G05-H-00", act.iati_identifier)
def test_participating_org(self): act = parse.activity(fixture("default_currency.xml")) self.assertEquals( cl.OrganisationRole.funding, act.participating_orgs[0].role)
def test_rejects_participatng_org_without_ref(self): act = parse.activity(fixture("default_currency.xml")) self.assertEquals(1, len(act.participating_orgs))
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)
def test_reporting_org_type(self): act = parse.activity(fixture("default_currency.xml")) self.assertEquals( cl.OrganisationType.multilateral, act.reporting_org.type )
def test_reporting_org_ref(self): act = parse.activity(fixture("default_currency.xml")) self.assertEquals(u"47045", act.reporting_org.ref)
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)
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)
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)
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)
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)
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)
def setUp(self): super().setUp() self.act = parse.activity(parse_fixture("default_currency.xml"))
def test_last_updated_time(self): act = parse.activity(fixture("default_currency.xml")) self.assertEquals(datetime.date(2012, 9, 25), act.last_updated_datetime)
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)
def test_date_end_actual(self): act = parse.activity(fixture("default_currency.xml")) self.assertEquals(datetime.date(2009, 10, 02), act.end_actual)
def test_bad_xml(self): with self.assertRaises(ET.LxmlError): parse.activity(parse_fixture("broken.xml"))
def test_transaction_count(self): act = parse.activity(fixture("default_currency.xml")) self.assertEquals(1, len(act.transactions))
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)
def test_transaction_type(self): act = parse.activity(fixture("default_currency.xml")) self.assertEquals( cl.TransactionType.commitment, act.transactions[0].type)
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)
def test_transaction_date(self): act = parse.activity(fixture("default_currency.xml")) self.assertEquals( datetime.date(2009, 10, 01), act.transactions[0].date)
def test_save_parsed_activity(self): act = parse.activity(parse_fixture("default_currency.xml")) db.session.add(act) db.session.commit()
def setUp(self): super(TestParseActivity, self).setUp() self.act = parse.activity(fixture("default_currency.xml"))
def setUp(self): super(TestParseActivity, self).setUp() self.act = parse.activity(fixture("default_currency.xml"))
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)