All files / output zcl_abapgit_git_transport.clas.testclasses.mjs

82.2% Statements 97/118
52.63% Branches 10/19
100% Functions 9/9
82.2% Lines 97/118

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 1181x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 1x 6x 6x 6x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x             1x 1x 1x 1x 1x 1x 1x   1x 1x 1x 1x 1x     1x 1x 1x 1x 1x 1x 1x 1x   1x 1x 1x 1x 1x     1x 1x 1x 1x 1x 1x 1x 1x   1x 1x 1x 1x 1x     1x 1x 1x 1x 1x 1x 1x 1x             1x 1x 1x 1x
const {zcl_abapgit_git_transport} = await import("./zcl_abapgit_git_transport.clas.mjs");
const {cx_root} = await import("./cx_root.clas.mjs");
// zcl_abapgit_git_transport.clas.testclasses.abap
 
 
class ltcl_git_transport {
  static INTERNAL_TYPE = 'CLAS';
  static INTERNAL_NAME = 'CLAS-ZCL_ABAPGIT_GIT_TRANSPORT-LTCL_GIT_TRANSPORT';
  static IMPLEMENTED_INTERFACES = [];
  static ATTRIBUTES = {};
  static METHODS = {"ALL_OK": {"visibility": "I", "parameters": {}},
  "UNPACK_ERROR": {"visibility": "I", "parameters": {}},
  "COMMAND_ERROR": {"visibility": "I", "parameters": {}},
  "FLUSH_ERROR": {"visibility": "I", "parameters": {}},
  "PARSE": {"visibility": "I", "parameters": {}},
  "GITLAB_FLUSH_ALL_OK": {"visibility": "I", "parameters": {}}};
  constructor() {
    this.me = new abap.types.ABAPObject();
    this.me.set(this);
    this.INTERNAL_ID = abap.internalIdCounter++;
    this.FRIENDS_ACCESS_INSTANCE = {
      "all_ok": this.#all_ok.bind(this),
      "unpack_error": this.#unpack_error.bind(this),
      "command_error": this.#command_error.bind(this),
      "flush_error": this.#flush_error.bind(this),
      "parse": this.#parse.bind(this),
      "gitlab_flush_all_ok": this.#gitlab_flush_all_ok.bind(this),
    };
  }
  async constructor_(INPUT) {
    if (super.constructor_) { await super.constructor_(INPUT); }
    return this;
  }
  async #parse() {
    let lv_data = new abap.types.XString({qualifiedName: "XSTRING"});
    let lv_pack = new abap.types.XString({qualifiedName: "XSTRING"});
    lv_data.set(abap.operators.concat(abap.CharacterFactory.get(40, '303033347368616C6C6F77206639656332336436'),abap.operators.concat(abap.CharacterFactory.get(40, '6439333561613764633236656531343163376234'),abap.operators.concat(abap.CharacterFactory.get(40, '3666656564396434363835653030303030303038'),abap.operators.concat(abap.CharacterFactory.get(40, '4E414B0A30323564015041434B00000002000000'),abap.operators.concat(abap.CharacterFactory.get(40, '059E0C789C958BC109C3300C00FF9EC2FF428965'),abap.operators.concat(abap.CharacterFactory.get(40, '59B2A194AE22273209244D70D4FD1BE804BDCFC1'),abap.operators.concat(abap.CharacterFactory.get(40, 'C15957F543454488A47168A9317023168446B932'),abap.operators.concat(abap.CharacterFactory.get(40, 'C53171014E44EA0EE9FA361F529BA4D594558443'),abap.operators.concat(abap.CharacterFactory.get(40, '4C5827E0C20C5090545498931664271F9BF7EE57'),abap.operators.concat(abap.CharacterFactory.get(40, 'E9E77CF8C7CFAF79B74D96F53EEEDBD307CC9902'),abap.operators.concat(abap.CharacterFactory.get(40, '9610FC6DB87057DD1633FD7373A6A77D0161323D'),abap.operators.concat(abap.CharacterFactory.get(40, '31A307789C33343030333151D04B4C4A2C48CF2C'),abap.operators.concat(abap.CharacterFactory.get(40, 'D1ABC8CD61A85FBB4172EFBBF6E6BC39974DD41E'),abap.operators.concat(abap.CharacterFactory.get(40, 'BFEE08889FB0DA10A22EC8D5D1C5D7552F378561'),abap.operators.concat(abap.CharacterFactory.get(40, 'F3E315727BDDAF7059C5DEE7EFF415E369E4D2EF'),abap.operators.concat(abap.CharacterFactory.get(40, '842A4ACBCF4F4A2CD22BA928617877E244D7E46F'),abap.operators.concat(abap.CharacterFactory.get(40, 'EF44457F377B7C3AA874FE9633D35900D7032E45'),abap.operators.concat(abap.CharacterFactory.get(40, 'B31E789C6D91D16A83301486EF7D8AE0FD92ED6E'),abap.operators.concat(abap.CharacterFactory.get(40, '484C093515C1EA5007BB93D45A974D8D9854DDB3'),abap.operators.concat(abap.CharacterFactory.get(40, 'ED628FB45798D5C26CF1EEFCFFF7710827BFDF3F'),abap.operators.concat(abap.CharacterFactory.get(40, '78335425E8F2560959DBE6137C34415E67F228EA'),abap.operators.concat(abap.CharacterFactory.get(40, 'C236CFFAF4F06C6E8881B91A2C7EE00D18F55A59'),abap.operators.concat(abap.CharacterFactory.get(40, '63B4CD77AD1B0BA1BEEFA1E20DCC64852ECA6898'),abap.operators.concat(abap.CharacterFactory.get(40, 'B71B8901A6051D2FCFB91A13C00E4DE86500784F'),abap.operators.concat(abap.CharacterFactory.get(40, 'E38445A94F03F795BA8C308CEEABC98B131A255E'),abap.operators.concat(abap.CharacterFactory.get(40, 'E0A6BBD07758441046F7D5E4CD73EA87AEB7252F'),abap.operators.concat(abap.CharacterFactory.get(40, '11DB796F18DD9493E6B94118CDAB01163AAF0882'),abap.operators.concat(abap.CharacterFactory.get(40, '85D0A2A8659B6334354BE87B5B16C46C85448C3A'),abap.operators.concat(abap.CharacterFactory.get(40, '7B06ABE30A6B78F6C98B1C7E2859AF60A85BDE09'),abap.operators.concat(abap.CharacterFactory.get(40, '05BFAA72859EA43CF016EA412F2046FF2FC7E87A'),abap.operators.concat(abap.CharacterFactory.get(40, '468C96E79DD3E52B88F10759BF90313D789C5356'),abap.operators.concat(abap.CharacterFactory.get(40, '70CD2D28A9E42A492D2EE102001BCB042734789C'),abap.operators.concat(abap.CharacterFactory.get(40, 'CBCDCFE7020003ED0156C43280EA381436A38EE5'),abap.CharacterFactory.get(38, 'E78491FF99CEAAC43A30303036017530303030')))))))))))))))))))))))))))))))))));
    await abap.Classes['ZCL_ABAPGIT_GIT_TRANSPORT'].parse({ev_pack: lv_pack, cv_data: lv_data});
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: abap.builtin.xstrlen({val: lv_data}), exp: abap.IntegerFactory.get(0)});
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: abap.builtin.xstrlen({val: lv_pack}), exp: new abap.types.Integer().set(601)});
  }
  async #all_ok() {
    let lv_status = new abap.types.String({qualifiedName: "STRING"});
    lv_status.set(abap.operators.concat(new abap.types.String().set(`000eunpack ok`),abap.operators.concat(abap.Classes['CL_ABAP_CHAR_UTILITIES'].newline,abap.operators.concat(new abap.types.String().set(`0017ok refs/heads/main`),abap.operators.concat(abap.Classes['CL_ABAP_CHAR_UTILITIES'].newline,new abap.types.String().set(`00000000`))))));
    try {
      await abap.Classes['ZCL_ABAPGIT_GIT_TRANSPORT'].check_report_status({iv_string: lv_status});
    } catch (e) {
      if ((abap.Classes['ZCX_ABAPGIT_EXCEPTION'] && e instanceof abap.Classes['ZCX_ABAPGIT_EXCEPTION'])) {
        await abap.Classes['CL_ABAP_UNIT_ASSERT'].fail();
      } else {
        throw e;
      }
    }
  }
  async #unpack_error() {
    let lv_status = new abap.types.String({qualifiedName: "STRING"});
    let lx_error = new abap.types.ABAPObject({qualifiedName: "ZCX_ABAPGIT_EXCEPTION", RTTIName: "\\CLASS=ZCX_ABAPGIT_EXCEPTION"});
    lv_status.set(abap.operators.concat(new abap.types.String().set(`0012unpack failed`),abap.operators.concat(abap.Classes['CL_ABAP_CHAR_UTILITIES'].newline,new abap.types.String().set(`00000000`))));
    try {
      await abap.Classes['ZCL_ABAPGIT_GIT_TRANSPORT'].check_report_status({iv_string: lv_status});
      await abap.Classes['CL_ABAP_UNIT_ASSERT'].fail();
    } catch (e) {
      if ((abap.Classes['ZCX_ABAPGIT_EXCEPTION'] && e instanceof abap.Classes['ZCX_ABAPGIT_EXCEPTION'])) {
        lx_error.set(e);
        await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: (await lx_error.get().if_message$get_text()), exp: abap.CharacterFactory.get(42, 'Git protocol error: Unpack not ok (failed)')});
      } else {
        throw e;
      }
    }
  }
  async #command_error() {
    let lv_status = new abap.types.String({qualifiedName: "STRING"});
    let lx_error = new abap.types.ABAPObject({qualifiedName: "ZCX_ABAPGIT_EXCEPTION", RTTIName: "\\CLASS=ZCX_ABAPGIT_EXCEPTION"});
    lv_status.set(abap.operators.concat(new abap.types.String().set(`000eunpack ok`),abap.operators.concat(abap.Classes['CL_ABAP_CHAR_UTILITIES'].newline,abap.operators.concat(new abap.types.String().set(`009fng refs/heads/main cannot lock ref 'refs/heads/main':`),abap.operators.concat(new abap.types.String().set(` is at 625990aec9a9ebacbb99021804ce07bb6c350d05 but expected 77d2cfba9595de4c247d26b12cd40ce6cb75d61e`),abap.operators.concat(abap.Classes['CL_ABAP_CHAR_UTILITIES'].newline,new abap.types.String().set(`00000000`)))))));
    try {
      await abap.Classes['ZCL_ABAPGIT_GIT_TRANSPORT'].check_report_status({iv_string: lv_status});
      await abap.Classes['CL_ABAP_UNIT_ASSERT'].fail();
    } catch (e) {
      if ((abap.Classes['ZCX_ABAPGIT_EXCEPTION'] && e instanceof abap.Classes['ZCX_ABAPGIT_EXCEPTION'])) {
        lx_error.set(e);
        await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: (await lx_error.get().if_message$get_text()), exp: abap.CharacterFactory.get(43, 'Git protocol error: Branch cannot be locked')});
      } else {
        throw e;
      }
    }
  }
  async #flush_error() {
    let lv_status = new abap.types.String({qualifiedName: "STRING"});
    let lx_error = new abap.types.ABAPObject({qualifiedName: "ZCX_ABAPGIT_EXCEPTION", RTTIName: "\\CLASS=ZCX_ABAPGIT_EXCEPTION"});
    lv_status.set(abap.operators.concat(new abap.types.String().set(`000eunpack ok`),abap.operators.concat(abap.Classes['CL_ABAP_CHAR_UTILITIES'].newline,abap.operators.concat(new abap.types.String().set(`0017ok refs/heads/main`),abap.operators.concat(abap.Classes['CL_ABAP_CHAR_UTILITIES'].newline,abap.CharacterFactory.get(22, '0020ok refs/heads/main'))))));
    try {
      await abap.Classes['ZCL_ABAPGIT_GIT_TRANSPORT'].check_report_status({iv_string: lv_status});
      await abap.Classes['CL_ABAP_UNIT_ASSERT'].fail();
    } catch (e) {
      if ((abap.Classes['ZCX_ABAPGIT_EXCEPTION'] && e instanceof abap.Classes['ZCX_ABAPGIT_EXCEPTION'])) {
        lx_error.set(e);
        await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: (await lx_error.get().if_message$get_text()), exp: abap.CharacterFactory.get(56, 'Git protocol error: Unexpected end of status (flush-pkt)')});
      } else {
        throw e;
      }
    }
  }
  async #gitlab_flush_all_ok() {
    let lv_status = new abap.types.String({qualifiedName: "STRING"});
    lv_status.set(abap.operators.concat(new abap.types.String().set(`000eunpack ok`),abap.operators.concat(abap.Classes['CL_ABAP_CHAR_UTILITIES'].newline,abap.operators.concat(new abap.types.String().set(`0019ok refs/heads/master`),abap.operators.concat(abap.Classes['CL_ABAP_CHAR_UTILITIES'].newline,new abap.types.String().set(`0000`))))));
    try {
      await abap.Classes['ZCL_ABAPGIT_GIT_TRANSPORT'].check_report_status({iv_string: lv_status});
    } catch (e) {
      if ((abap.Classes['ZCX_ABAPGIT_EXCEPTION'] && e instanceof abap.Classes['ZCX_ABAPGIT_EXCEPTION'])) {
        await abap.Classes['CL_ABAP_UNIT_ASSERT'].fail();
      } else {
        throw e;
      }
    }
  }
}
abap.Classes['CLAS-ZCL_ABAPGIT_GIT_TRANSPORT-LTCL_GIT_TRANSPORT'] = ltcl_git_transport;
export {ltcl_git_transport};