Esempio n. 1
0
 def test_generate_changeset(self):
   old = lxml.etree.XML('''<ResourceRecordSets xmlns="https://route53.amazonaws.com/doc/2012-02-29/">
     <ResourceRecordSet>
        <Name>example.com.</Name>
        <Type>SOA</Type>
        <TTL>900</TTL>
        <ResourceRecords>
           <ResourceRecord>
              <Value>ns-2048.awsdns-64.net. hostmaster.awsdns.com. 1 7200 900 1209600 86400</Value>
           </ResourceRecord>
        </ResourceRecords>
     </ResourceRecordSet>
  </ResourceRecordSets>''')
   new = lxml.etree.XML('''<ResourceRecordSets xmlns="https://route53.amazonaws.com/doc/2012-02-29/">
     <ResourceRecordSet>
        <Name>example.com.</Name>
        <Type>A</Type>
        <TTL>60</TTL>
        <ResourceRecords>
           <ResourceRecord>
              <Value>192.168.0.1</Value>
           </ResourceRecord>
        </ResourceRecords>
     </ResourceRecordSet>
  </ResourceRecordSets>''')
   expected_output = lxml.etree.XML('''<ChangeResourceRecordSetsRequest xmlns="https://route53.amazonaws.com/doc/2012-02-29/"><ChangeBatch><Comment>Generated by cli.py</Comment><Changes><Change><Action>DELETE</Action><ResourceRecordSet>         <Name>example.com.</Name>         <Type>SOA</Type>         <TTL>900</TTL>         <ResourceRecords>            <ResourceRecord>               <Value>ns-2048.awsdns-64.net. hostmaster.awsdns.com. 1 7200 900 1209600 86400</Value>            </ResourceRecord>         </ResourceRecords>      </ResourceRecordSet>   </Change><Change><Action>CREATE</Action><ResourceRecordSet>         <Name>example.com.</Name>         <Type>A</Type>         <TTL>60</TTL>         <ResourceRecords>            <ResourceRecord>               <Value>192.168.0.1</Value>            </ResourceRecord>         </ResourceRecords>      </ResourceRecordSet>   </Change></Changes></ChangeBatch></ChangeResourceRecordSetsRequest>''')
   changeset = r53.generate_changeset(old, new)
   r53.XSLT_STRIPSPACE(changeset)
   r53.XSLT_STRIPSPACE(expected_output)
   self.assertEqual(lxml.etree.tostring(changeset), lxml.etree.tostring(expected_output))
Esempio n. 2
0
  def test_changeset_null(self):
      parser = lxml.etree.XMLParser(remove_blank_text=True)
      old = lxml.etree.XML(
          '''<ResourceRecordSets xmlns="https://route53.amazonaws.com/doc/2013-04-01/">
    <ResourceRecordSet>
       <Name>example.com.</Name>
       <Type>SOA</Type>
       <TTL>900</TTL>
       <ResourceRecords>
          <ResourceRecord>
             <Value>ns-2048.awsdns-64.net. hostmaster.awsdns.com. 1 7200 900 1209600 86400</Value>
          </ResourceRecord>
       </ResourceRecords>
    </ResourceRecordSet>
 </ResourceRecordSets>''',
          parser=parser)
      new = lxml.etree.XML(
          '''<ResourceRecordSets xmlns="https://route53.amazonaws.com/doc/2013-04-01/">
    <ResourceRecordSet>
       <Name>example.com.</Name>
       <Type>SOA</Type>
       <TTL>900</TTL>
       <ResourceRecords>
          <ResourceRecord>
             <Value>ns-2048.awsdns-64.net. hostmaster.awsdns.com. 1 7200 900 1209600 86400</Value>
          </ResourceRecord>
       </ResourceRecords>
    </ResourceRecordSet>
 </ResourceRecordSets>''',
          parser=parser)
      self.assertEqual(r53.generate_changeset(old, new), None)
Esempio n. 3
0
  def test_changeset_wildcard(self):
      parser = lxml.etree.XMLParser(remove_blank_text=True)
      old = lxml.etree.XML(
          '''<ResourceRecordSets xmlns="https://route53.amazonaws.com/doc/2013-04-01/">
    <ResourceRecordSet>
       <Name>\052.example.com.</Name>
       <Type>A</Type>
       <TTL>60</TTL>
       <ResourceRecords>
          <ResourceRecord>
             <Value>192.168.0.1</Value>
          </ResourceRecord>
       </ResourceRecords>
    </ResourceRecordSet>
 </ResourceRecordSets>''',
          parser=parser)
      new = lxml.etree.XML(
          '''<ResourceRecordSets xmlns="https://route53.amazonaws.com/doc/2013-04-01/">
    <ResourceRecordSet>
       <Name>*.example.com.</Name>
       <Type>A</Type>
       <TTL>60</TTL>
       <ResourceRecords>
          <ResourceRecord>
             <Value>192.168.0.1</Value>
          </ResourceRecord>
       </ResourceRecords>
    </ResourceRecordSet>
 </ResourceRecordSets>''',
          parser=parser)
      self.assertEqual(r53.generate_changeset(old, new), None)
Esempio n. 4
0
 def test_changeset_wildcard(self):
   parser = lxml.etree.XMLParser(remove_blank_text=True)
   old = lxml.etree.XML('''<ResourceRecordSets xmlns="https://route53.amazonaws.com/doc/2013-04-01/">
     <ResourceRecordSet>
        <Name>\052.example.com.</Name>
        <Type>A</Type>
        <TTL>60</TTL>
        <ResourceRecords>
           <ResourceRecord>
              <Value>192.168.0.1</Value>
           </ResourceRecord>
        </ResourceRecords>
     </ResourceRecordSet>
  </ResourceRecordSets>''', parser=parser)
   new = lxml.etree.XML('''<ResourceRecordSets xmlns="https://route53.amazonaws.com/doc/2013-04-01/">
     <ResourceRecordSet>
        <Name>*.example.com.</Name>
        <Type>A</Type>
        <TTL>60</TTL>
        <ResourceRecords>
           <ResourceRecord>
              <Value>192.168.0.1</Value>
           </ResourceRecord>
        </ResourceRecords>
     </ResourceRecordSet>
  </ResourceRecordSets>''', parser=parser)
   self.assertEqual(r53.generate_changeset(old, new), None)
Esempio n. 5
0
 def test_changeset_null(self):
   parser = lxml.etree.XMLParser(remove_blank_text=True)
   old = lxml.etree.XML('''<ResourceRecordSets xmlns="https://route53.amazonaws.com/doc/2013-04-01/">
     <ResourceRecordSet>
        <Name>example.com.</Name>
        <Type>SOA</Type>
        <TTL>900</TTL>
        <ResourceRecords>
           <ResourceRecord>
              <Value>ns-2048.awsdns-64.net. hostmaster.awsdns.com. 1 7200 900 1209600 86400</Value>
           </ResourceRecord>
        </ResourceRecords>
     </ResourceRecordSet>
  </ResourceRecordSets>''', parser=parser)
   new = lxml.etree.XML('''<ResourceRecordSets xmlns="https://route53.amazonaws.com/doc/2013-04-01/">
     <ResourceRecordSet>
        <Name>example.com.</Name>
        <Type>SOA</Type>
        <TTL>900</TTL>
        <ResourceRecords>
           <ResourceRecord>
              <Value>ns-2048.awsdns-64.net. hostmaster.awsdns.com. 1 7200 900 1209600 86400</Value>
           </ResourceRecord>
        </ResourceRecords>
     </ResourceRecordSet>
  </ResourceRecordSets>''', parser=parser)
   self.assertEqual(r53.generate_changeset(old, new), None)
Esempio n. 6
0
 def test_changeset_subtract(self):
   parser = lxml.etree.XMLParser(remove_blank_text=True)
   old = lxml.etree.XML('''<ResourceRecordSets xmlns="https://route53.amazonaws.com/doc/2013-04-01/">
     <ResourceRecordSet>
        <Name>example.com.</Name>
        <Type>SOA</Type>
        <TTL>900</TTL>
        <ResourceRecords>
           <ResourceRecord>
              <Value>ns-2048.awsdns-64.net. hostmaster.awsdns.com. 1 7200 900 1209600 86400</Value>
           </ResourceRecord>
        </ResourceRecords>
     </ResourceRecordSet>
     <ResourceRecordSet>
        <Name>example.com.</Name>
        <Type>A</Type>
        <TTL>60</TTL>
        <ResourceRecords>
           <ResourceRecord>
              <Value>192.168.0.1</Value>
           </ResourceRecord>
        </ResourceRecords>
     </ResourceRecordSet>
  </ResourceRecordSets>''', parser=parser)
   new = lxml.etree.XML('''<ResourceRecordSets xmlns="https://route53.amazonaws.com/doc/2013-04-01/">
     <ResourceRecordSet>
        <Name>example.com.</Name>
        <Type>SOA</Type>
        <TTL>900</TTL>
        <ResourceRecords>
           <ResourceRecord>
              <Value>ns-2048.awsdns-64.net. hostmaster.awsdns.com. 1 7200 900 1209600 86400</Value>
           </ResourceRecord>
        </ResourceRecords>
     </ResourceRecordSet>
  </ResourceRecordSets>''', parser=parser)
   expected_output = lxml.etree.XML(
       '''<ChangeResourceRecordSetsRequest xmlns="https://route53.amazonaws.com/doc/2013-04-01/">
         <ChangeBatch>
           <Comment>foobar</Comment>
           <Changes>
             <Change>
               <Action>DELETE</Action>
               <ResourceRecordSet>
                 <Name>example.com.</Name>
                 <Type>A</Type>
                 <TTL>60</TTL>
                 <ResourceRecords>
                   <ResourceRecord>
                     <Value>192.168.0.1</Value>
                   </ResourceRecord>
                 </ResourceRecords>
               </ResourceRecordSet>
             </Change>
           </Changes>
         </ChangeBatch>
       </ChangeResourceRecordSetsRequest>''', parser=parser)
   changeset = r53.generate_changeset(old, new, comment='foobar')
   self.assertEqual(lxml.etree.tostring(changeset), lxml.etree.tostring(expected_output))
Esempio n. 7
0
  def test_changeset_subtract(self):
      parser = lxml.etree.XMLParser(remove_blank_text=True)
      old = lxml.etree.XML(
          '''<ResourceRecordSets xmlns="https://route53.amazonaws.com/doc/2013-04-01/">
    <ResourceRecordSet>
       <Name>example.com.</Name>
       <Type>SOA</Type>
       <TTL>900</TTL>
       <ResourceRecords>
          <ResourceRecord>
             <Value>ns-2048.awsdns-64.net. hostmaster.awsdns.com. 1 7200 900 1209600 86400</Value>
          </ResourceRecord>
       </ResourceRecords>
    </ResourceRecordSet>
    <ResourceRecordSet>
       <Name>example.com.</Name>
       <Type>A</Type>
       <TTL>60</TTL>
       <ResourceRecords>
          <ResourceRecord>
             <Value>192.168.0.1</Value>
          </ResourceRecord>
       </ResourceRecords>
    </ResourceRecordSet>
 </ResourceRecordSets>''',
          parser=parser)
      new = lxml.etree.XML(
          '''<ResourceRecordSets xmlns="https://route53.amazonaws.com/doc/2013-04-01/">
    <ResourceRecordSet>
       <Name>example.com.</Name>
       <Type>SOA</Type>
       <TTL>900</TTL>
       <ResourceRecords>
          <ResourceRecord>
             <Value>ns-2048.awsdns-64.net. hostmaster.awsdns.com. 1 7200 900 1209600 86400</Value>
          </ResourceRecord>
       </ResourceRecords>
    </ResourceRecordSet>
 </ResourceRecordSets>''',
          parser=parser)
      expected_output = lxml.etree.XML(
          '''<ChangeResourceRecordSetsRequest xmlns="https://route53.amazonaws.com/doc/2013-04-01/">
        <ChangeBatch>
          <Comment>foobar</Comment>
          <Changes>
            <Change>
              <Action>DELETE</Action>
              <ResourceRecordSet>
                <Name>example.com.</Name>
                <Type>A</Type>
                <TTL>60</TTL>
                <ResourceRecords>
                  <ResourceRecord>
                    <Value>192.168.0.1</Value>
                  </ResourceRecord>
                </ResourceRecords>
              </ResourceRecordSet>
            </Change>
          </Changes>
        </ChangeBatch>
      </ChangeResourceRecordSetsRequest>''',
          parser=parser)
      changeset = r53.generate_changeset(old, new, comment='foobar')
      self.assertEqual(lxml.etree.tostring(changeset),
                       lxml.etree.tostring(expected_output))
Esempio n. 8
0
  def test_changeset_add(self):
      old = lxml.etree.XML(
          '''<ResourceRecordSets xmlns="https://route53.amazonaws.com/doc/2013-04-01/">
    <ResourceRecordSet>
       <Name>example.com.</Name>
       <Type>SOA</Type>
       <TTL>900</TTL>
       <ResourceRecords>
          <ResourceRecord>
             <Value>ns-2048.awsdns-64.net. hostmaster.awsdns.com. 1 7200 900 1209600 86400</Value>
          </ResourceRecord>
       </ResourceRecords>
    </ResourceRecordSet>
 </ResourceRecordSets>''')
      new = lxml.etree.XML(
          '''<ResourceRecordSets xmlns="https://route53.amazonaws.com/doc/2013-04-01/">
    <ResourceRecordSet>
       <Name>example.com.</Name>
       <Type>SOA</Type>
       <TTL>900</TTL>
       <ResourceRecords>
          <ResourceRecord>
             <Value>ns-2048.awsdns-64.net. hostmaster.awsdns.com. 1 7200 900 1209600 86400</Value>
          </ResourceRecord>
       </ResourceRecords>
    </ResourceRecordSet>
    <ResourceRecordSet>
       <Name>example.com.</Name>
       <Type>A</Type>
       <TTL>60</TTL>
       <ResourceRecords>
          <ResourceRecord>
             <Value>192.168.0.1</Value>
          </ResourceRecord>
       </ResourceRecords>
    </ResourceRecordSet>
 </ResourceRecordSets>''')
      expected_output = lxml.etree.XML(
          '''<ChangeResourceRecordSetsRequest xmlns="https://route53.amazonaws.com/doc/2013-04-01/">
        <ChangeBatch>
          <Comment>foobar</Comment>
          <Changes>
            <Change>
              <Action>CREATE</Action>
              <ResourceRecordSet>
                <Name>example.com.</Name>
                <Type>A</Type>
                <TTL>60</TTL>
                <ResourceRecords>
                  <ResourceRecord>
                    <Value>192.168.0.1</Value>
                  </ResourceRecord>
                </ResourceRecords>
              </ResourceRecordSet>
            </Change>
          </Changes>
        </ChangeBatch>
      </ChangeResourceRecordSetsRequest>''')
      changeset = r53.generate_changeset(old, new, comment='foobar')
      r53.XSLT_STRIPSPACE(changeset)
      r53.XSLT_STRIPSPACE(expected_output)
      self.assertEqual(lxml.etree.tostring(changeset),
                       lxml.etree.tostring(expected_output))